[I don't have anything more to add to the generic usbnet discussion, but want to comment on the qmi_wwan issues] Ming Lei <tom.leiming@xxxxxxxxx> writes: > Also, the clear of intfdata may not be observed in .manage_power > since usb_set_intfdata(, NULL) may be completed after the lock wdm_mutex > operation. True, but irrelevant. The pointer is either valid or NULL. We don't need to care about synchronizing the exact time it is set to NULL. The locking in cdc-wdm will ensure that the pointer is valid while it is in use by .manage_power, because usbnet_disconnect is prevented from continuing with free_netdev() while any caller of .manage_power is running. > So it is only the sync mechanism that works on the race even the check is > added in the patch. Putting usb_set_intfdata(, NULL) after driver_info->unbind > should be OK, and it is a general solution for the problem. There is no problem wrt qmi_wwan and intfdata as long as the NULL test is added to .manage_power. Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html