CF8385 issues on older kernel

Ryan Mallon ryan at
Sun Mar 29 22:29:00 EDT 2009

We have a customer who is using a 8385 chipset wireless module and the
Libertas driver. The customer is using a 2.6.20 kernel, which we patched
support in for the Libertas driver around August 2007. At this stage it
is difficult to upgrade the kernel because it has a lot of support for
non-mainline things, and it is also difficult to backport the latest
Libertas code because of the changes to the kernel apis. However, we may
be able to convince the customer to upgrade if we can prove that an
upgrade could fix the wireless issues they are seeing.

Our customer has been having some issues with wireless hanging and/or
crashing. Typically they will be transferring some data over wireless
which will stall (NETDEV WATCHDOG: eth1: transmit timed out, libertas:
tx watch dog timeout). After the stall iwlist reports no results. They
can sometimes fix this by doing pccardctl eject/insert. Was this a known
issues at some point in the Libertas driver development? I know this is
ages ago now ;-).

We are trying to get a better step-by-step replication of the bug, but
in the meantime I found this patch in the mailing list archives:,
which seems like it could be related to our problem. I sent the patch to
our customer, who, in a quick test managed to trigger the BUG_ON which
is added in if_cs_send_data.

Looking at the current mainline kernel, this code is still present, in
mostly the same form as it was in the above patch. What exactly is the
BUG_ON checking for here, and what can go wrong to trigger the bug?
Also, isn't bugging in a driver reasonably drastic? Would it not be
better to return an error condition, which propogates back to a transmit
failed at the upper networking layer?


Bluewater Systems Ltd - ARM Technology Solution Centre

       Ryan Mallon                              Unit 5, Amuri Park
       Phone: +64 3 3779127                     404 Barbadoes St
       Fax:   +64 3 3779135                     PO Box 13 889
       Email: ryan at             Christchurch, 8013
       Web:       New Zealand
       Freecall Australia  1800 148 751         USA 1800 261 2934

More information about the libertas-dev mailing list