Bug 5195
Summary: | scsi_eh not get released for USB storage device after failure or disconnect | ||
---|---|---|---|
Product: | Drivers | Reporter: | Feng-sung Yang (fsyang_tw) |
Component: | USB | Assignee: | Alan Stern (stern) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | greg |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.13-mm1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 5089 | ||
Attachments: |
/var/log/kernel/info
Fix errors in the SCSI core info.050912.bz2 info.050912.bz2 |
Description
Feng-sung Yang
2005-09-06 06:17:39 UTC
Created attachment 5916 [details]
/var/log/kernel/info
Created attachment 5931 [details]
Fix errors in the SCSI core
Attached is a patch for 2.6.13-mm1 that fixes a number of errors in the SCSI
core. Among other things, it should get rid of all those extra error-handler
processes. Keep all the other patches and apply this one in addition.
Created attachment 5977 [details]
info.050912.bz2
Created attachment 5978 [details]
info.050912.bz2
Thanks a lot. I have tried this patch and I haven't encounter any previously reported problems yet. The patches I used in this kernel is: -mm1 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=112551468126219&w=2 msleep(2000) in drivers/usb/storage/transport.c "Fix errors in the SCSI core" patch However, when I use -mm2 patch to replace -mm1. Things become odd. The usb_storage and scsi_eh_X drivers won't get released after the USB device is removed even when only one card reader is plugged-in and then unplugged. And, after some stress testings for multiple card readers, the USB system hangs as before with a lot of driver left. Since the difference of USB drivers between these two patches are small so I am curious if -mm2 shouldn't be used. The following is the ps result when and after the device is disconnected: [root@fsyang ~]# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:30,comm | grep usb 3123 3123 TS - 0 24 0 0.0 S - usb-storage [root@fsyang ~]# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:30,comm | grep scsi 3120 3120 TS - -5 28 0 0.0 S< - scsi_eh_0 [root@fsyang ~]# # Unplugged...... [root@fsyang ~]# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:30,comm | grep usb 3123 3123 TS - 0 24 0 0.0 D kthread_stop usb-storage [root@fsyang ~]# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:30,comm | grep scsi 3120 3120 TS - -5 29 0 0.0 S< - scsi_eh_0 And the /var/log/kernel/info is attached as info.050912.bz2. I think this has been fixed in the latest kernel. Try using 2.6.14-rc2-git6. Hi, I have tried linux-2.6.14-rc4 dozens of times and this problem didn't happen again. Thanks a lot. Okay, I'll mark this bug CLOSED. |