Hi, This patchset avoids accessing auto-suspended device in ioctl path, which is generally triggered by some network utility(ethtool, ifconfig, ...)
Most of network devices have the problem, but as discussed in the thread: http://marc.info/?t=135054860600003&r=1&w=2 the problem should be solved inside driver. Considered that only smsc75xx and smsc95xx calls usbnet_read_cmd() and usbnet_write_cmd() inside its resume and suspend callback, the patcheset introduces the nopm version of the two functions which should be called only in the resume and suspend callback. So we can solve the problem by runtime resuming device before doing control message things. The patchset is against 3.7.0-rc4-next-20121105, and has been tested OK on smsc95xx usbnet device. Change logs: V4: - kfree in failure path, only patch 3/5 changed V3: - fix comment and code style reported by Sergei Shtylyov V2: - rebased on the latest net-next tree, only 2/5 changed V1: - rebased on 3.7.0-rc3-next-20121102, only patch 4/5 changed - fix one memory leak during smsc95xx_suspend, patch 3/5 added drivers/net/usb/smsc75xx.c | 147 +++++++++++++++++++++++++++----------------- drivers/net/usb/smsc95xx.c | 147 ++++++++++++++++++++++++++++---------------- drivers/net/usb/usbnet.c | 74 ++++++++++++++++++++-- include/linux/usb/usbnet.h | 4 ++ 4 files changed, 258 insertions(+), 114 deletions(-) Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html