Am Wednesday 04 February 2009 16:48:11 schrieb Kalle Valo: > > AFAIK you should be sending patches to Greg against the version in > > drivers/staging. Kalle may want to be copied. > > Yes, please cc also me. I try to keep up-to-date what's happening with > at76-usb so that the same fixes will be fixed in at76c50x-usb as well. Here is what I found with at76-usb as it is in the current kernel: static int at76_wait_completion(struct at76_priv *priv, int cmd) { int status = 0; unsigned long timeout = jiffies + CMD_COMPLETION_TIMEOUT; do { This can go wrong in a preemptible kernel. You have no guarantee the full timeout is granted. @@ -1631,7 +1633,7 @@ static void at76_rx_tasklet(unsigned long param) buf = (struct at76_rx_buffer *)priv->rx_skb->data; if (urb->status != 0) { - if (urb->status != -ENOENT && urb->status != -ECONNRESET) + if (urb->status != -ENOENT && urb->status != -ECONNRESET && urb->status != -ESHUTDOWN) Should also check for ESHUTDOWN, also in at76_mac80211_tx_callback() Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html