Am Donnerstag, 10. November 2005 09:51 schrieb Herbert Xu: > CPU0 CPU1 > kaweth_close > kaweth_usb_receiv > urb->status == 0 > status & KAWETH_STATUS_CLOSING > == 0 > status |= > KAWETH_STATUS_CLOSING > kaweth_resubmit_rx_urb usb_kill_urb(rx_urb) >
OK, I see. urb->status != kaweth->status There is no race of this kind, but you are right, due to usb_kill_urb() working also while the callback is running kaweth->status is no longer needed, but it doesn't do harm either. Regards Oliver