lsusb causes oops when an USB MicroSD card reader is present

Bug #115329 reported by Gioele Barabucci
4
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned
linux-source-2.6.20 (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

I get the following Oops once I plug in an USB MicroSD reader and run lsusb

[ 237.515117] Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
[ 237.515121] [<ffffffff80341892>] strlen+0x2/0x20
[ 237.515245] Call Trace:
[ 237.515252] [<ffffffff803a7390>] make_class_name+0x20/0x90
[ 237.515264] [<ffffffff803a7681>] class_device_del+0xc1/0x170
[ 237.515288] [<ffffffff803a7739>] class_device_unregister+0x9/0x20
[ 237.515314] [<ffffffff880ab852>] :scsi_mod:__scsi_remove_device+0x32/0xa0
[ 237.515339] [<ffffffff880a8a4d>] :scsi_mod:scsi_forget_host+0x4d/0x80
[ 237.515365] [<ffffffff880a2b75>] :scsi_mod:scsi_remove_host+0x75/0x100
[ 237.515385] [<ffffffff88169e60>] :usb_storage:storage_disconnect+0x10/0x20
[ 237.515411] [<ffffffff8806c4cd>] :usbcore:usb_unbind_interface+0x6d/0xd0
[ 237.515429] [<ffffffff803a6861>] __device_release_driver+0x91/0xc0
[ 237.515441] [<ffffffff803a6e38>] device_release_driver+0x38/0x60
[ 237.515453] [<ffffffff803a6089>] bus_remove_device+0x89/0xb0
[ 237.515464] [<ffffffff803a4162>] device_del+0x1a2/0x220
[ 237.515495] [<ffffffff88069732>] :usbcore:usb_disable_device+0x82/0x100
[ 237.515520] [<ffffffff8806575b>] :usbcore:usb_disconnect+0xab/0x150
[ 237.515556] [<ffffffff8806676a>] :usbcore:hub_thread+0x43a/0xcd0
[ 237.515575] [<ffffffff80265bbb>] thread_return+0x0/0xf5
[ 237.515607] [<ffffffff802a3350>] autoremove_wake_function+0x0/0x30
[ 237.515648] [<ffffffff88066330>] :usbcore:hub_thread+0x0/0xcd0
[ 237.515651] [<ffffffff802a3170>] keventd_create_kthread+0x0/0x90
[ 237.515659] [<ffffffff80233f59>] kthread+0xd9/0x120
[ 237.515683] [<ffffffff80261ec8>] child_rip+0xa/0x12
[ 237.515692] [<ffffffff802a3170>] keventd_create_kthread+0x0/0x90
[ 237.515729] [<ffffffff80233e80>] kthread+0x0/0x120
[ 237.515735] [<ffffffff80261ebe>] child_rip+0x0/0x12

Revision history for this message
Gioele Barabucci (gioele) wrote :

$ uname -a
Linux prova 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux

Revision history for this message
Gioele Barabucci (gioele) wrote :
Revision history for this message
Gioele Barabucci (gioele) wrote :
Revision history for this message
Gioele Barabucci (gioele) wrote :
Revision history for this message
Gioele Barabucci (gioele) wrote :

$ cat /proc/version
Linux version 2.6.20-15-generic (root@yellow) (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #2 SMP Sun Apr 15 06:17:24 UTC 2007

Revision history for this message
Gioele Barabucci (gioele) wrote :

Previous dmesg log file was broken

Revision history for this message
Gioele Barabucci (gioele) wrote :

The USB card reader is a rebranded "Pretec i-Disk Micro Reader" what uses a Feiya Technology chipset.

Revision history for this message
Brian Murray (brian-murray) wrote :

Thanks for taking the time to report this bug and helping to make Ubuntu better. Is this still an issue with the latest version of the kernel for Feisty? Thanks in advance.

Changed in linux-source-2.6.20:
assignee: nobody → brian-murray
status: New → Incomplete
Revision history for this message
Gioele Barabucci (gioele) wrote :

Yes, the same crash happens with the latest version of the kernel available for Feisty. Are there other (backported?) kernel to try?

Changed in linux-source-2.6.20:
assignee: brian-murray → ubuntu-kernel-team
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
Gioele Barabucci (gioele) wrote :

The same oops still happens with Gutsy tribe5 live CD for amd64.

Revision history for this message
Gioele Barabucci (gioele) wrote :
Revision history for this message
Gioele Barabucci (gioele) wrote :

The new strack trace on Gutsy tribe5

[ 500.226789] Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
[ 500.226792] [<ffffffff80325bf2>] strlen+0x2/0x20
[ 500.226802] PGD 1a9b4067 PUD 1a9b3067 PMD 0
[ 500.226892] Stack: ffffffff80391ff0 ffffffff880c0da0 ffff810016c8f388 ffff810016c8f398
[ 500.226899] ffffffff803921d1 ffff81001d2ae238 ffff810016c8f388 ffff810016c8f0e8
[ 500.226903] 0000000000000246 ffffffff881575c0 0000000000000000 ffff81001d10d4d0
[ 500.226907] Call Trace:
[ 500.226914] [<ffffffff80391ff0>] make_class_name+0x20/0x90
[ 500.226925] [<ffffffff803921d1>] class_device_del+0xc1/0x170
[ 500.226946] [<ffffffff80392289>] class_device_unregister+0x9/0x20
[ 500.226973] [<ffffffff880a3273>] :scsi_mod:__scsi_remove_device+0x43/0xa0
[ 500.226998] [<ffffffff880a02d1>] :scsi_mod:scsi_forget_host+0x61/0x80
[ 500.227023] [<ffffffff88099d91>] :scsi_mod:scsi_remove_host+0x61/0x100
[ 500.227043] [<ffffffff88147f90>] :usb_storage:storage_disconnect+0x10/0x20
[ 500.227068] [<ffffffff88060aad>] :usbcore:usb_unbind_interface+0x6d/0xd0
[ 500.227085] [<ffffffff80391552>] __device_release_driver+0x82/0xc0
[ 500.227096] [<ffffffff80391a78>] device_release_driver+0x38/0x60
[ 500.227107] [<ffffffff80390cc6>] bus_remove_device+0x76/0xb0
[ 500.227118] [<ffffffff8038ea1a>] device_del+0x1ba/0x2f0
[ 500.227147] [<ffffffff8805d971>] :usbcore:usb_disable_device+0x91/0x110
[ 500.227172] [<ffffffff880595db>] :usbcore:usb_disconnect+0xab/0x150
[ 500.227206] [<ffffffff88059d38>] :usbcore:hub_thread+0x2c8/0xda0
[ 500.227251] [<ffffffff8024b230>] autoremove_wake_function+0x0/0x30
[ 500.227287] [<ffffffff88059a70>] :usbcore:hub_thread+0x0/0xda0
[ 500.227298] [<ffffffff8024ae6b>] kthread+0x4b/0x80
[ 500.227310] [<ffffffff8020aca8>] child_rip+0xa/0x12
[ 500.227348] [<ffffffff8024ae20>] kthread+0x0/0x80
[ 500.227354] [<ffffffff8020ac9e>] child_rip+0x0/0x12
[ 500.227366]
[ 500.227367] Code: 80 3f 00 74 15 48 89 f8 66 0f 1f 44 00 00 48 83 c0 01 80 38
[ 500.227375] RIP [<ffffffff80325bf2>] strlen+0x2/0x20
[ 500.227379] RSP <ffff81001f06bc38>
[ 500.227381] CR2: 0000000000000000

Revision history for this message
Launchpad Janitor (janitor) wrote : This bug is now reported against the 'linux' package

Beginning with the Hardy Heron 8.04 development cycle, all open Ubuntu kernel bugs need to be reported against the "linux" kernel package. We are automatically migrating this bug to the new "linux" package. However, development has already began for the upcoming Intrepid Ibex 8.10 release. It would be helpful if you could test the upcoming release and verify if this is still an issue - http://www.ubuntu.com/testing . If the issue still exists, please update this report by changing the Status of the "linux" task from "Incomplete" to "New". We appreciate your patience and understanding as we make this transition. Thanks!

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

The Ubuntu Kernel Team is planning to move to the 2.6.27 kernel for the upcoming Intrepid Ibex 8.10 release. As a result, the kernel team would appreciate it if you could please test this newer 2.6.27 Ubuntu kernel. There are one of two ways you should be able to test:

1) If you are comfortable installing packages on your own, the linux-image-2.6.27-* package is currently available for you to install and test.

--or--

2) The upcoming Alpha5 for Intrepid Ibex 8.10 will contain this newer 2.6.27 Ubuntu kernel. Alpha5 is set to be released Thursday Sept 4. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. You should then be able to test via a LiveCD.

Please let us know immediately if this newer 2.6.27 kernel resolves the bug reported here or if the issue remains. More importantly, please open a new bug report for each new bug/regression introduced by the 2.6.27 kernel and tag the bug report with 'linux-2.6.27'. Also, please specifically note if the issue does or does not appear in the 2.6.26 kernel. Thanks again, we really appreicate your help and feedback.

Revision history for this message
Gioele Barabucci (gioele) wrote :
Download full text (7.9 KiB)

Testing with Intrepid 8.10 alpha5.

lsusb does not generates the oops anymore but it seems to stall forever.

Here is the relevant dmesg output (during lsusb a lot of these messages are generated, it must be stalled in some kind of loop):

[ 299.312189] usb 7-2: new high speed USB device using ehci_hcd and address 3
[ 299.449215] usb 7-2: configuration #1 chosen from 1 choice
[ 299.648638] usbcore: registered new interface driver libusual
[ 299.744754] Initializing USB Mass Storage driver...
[ 299.744964] scsi5 : SCSI emulation for USB Mass Storage devices
[ 299.746972] usb-storage: device found at 3
[ 299.746987] usb-storage: waiting for device to settle before scanning
[ 299.750012] usbcore: registered new interface driver usb-storage
[ 299.750027] USB Mass Storage support registered.
[ 304.744392] usb-storage: device scan complete
[ 305.425730] scsi 5:0:0:0: Direct-Access Generic 6000 PQ: 0 ANSI: 0 CCS
[ 305.446109] sd 5:0:0:0: [sdb] 1987584 512-byte hardware sectors (1018 MB)
[ 305.447452] sd 5:0:0:0: [sdb] Write Protect is off
[ 305.447466] sd 5:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[ 305.447472] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[ 305.456087] sd 5:0:0:0: [sdb] 1987584 512-byte hardware sectors (1018 MB)
[ 305.456995] sd 5:0:0:0: [sdb] Write Protect is off
[ 305.457000] sd 5:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[ 305.457001] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[ 305.457055] sdb:<3>end_request: I/O error, dev sdb, sector 0
[ 305.587791] Buffer I/O error on device sdb, logical block 0
[ 335.696182] usb 7-2: reset high speed USB device using ehci_hcd and address 3
[ 350.808179] usb 7-2: device descriptor read/64, error -110
[ 366.024193] usb 7-2: device descriptor read/64, error -110
[ 366.240177] usb 7-2: reset high speed USB device using ehci_hcd and address 3
[ 381.352175] usb 7-2: device descriptor read/64, error -110
[ 396.568173] usb 7-2: device descriptor read/64, error -110
[ 396.784192] usb 7-2: reset high speed USB device using ehci_hcd and address 3
[ 407.192164] usb 7-2: device not accepting address 3, error -110
[ 407.304195] usb 7-2: reset high speed USB device using ehci_hcd and address 3
[ 417.712170] usb 7-2: device not accepting address 3, error -110
[ 417.712828] usb 7-2: USB disconnect, address 3
[ 417.713330] sd 5:0:0:0: Device offlined - not ready after error recovery
[ 417.713356] sd 5:0:0:0: [sdb] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK,SUGGEST_OK
[ 417.713366] end_request: I/O error, dev sdb, sector 0
[ 417.713434] Buffer I/O error on device sdb, logical block 0
[ 417.713566] sd 5:0:0:0: rejecting I/O to offline device
[ 417.713634] Buffer I/O error on device sdb, logical block 0
[ 417.713717] sd 5:0:0:0: rejecting I/O to offline device
[ 417.713790] Buffer I/O error on device sdb, logical block 0
[ 417.713871] sd 5:0:0:0: rejecting I/O to offline device
[ 417.713939] Buffer I/O error on device sdb, logical block 0
[ 417.714016] ldm_validate_partition_table(): Disk read failed.
[ 417.714087] sd 5:0:0:0: rejecting I/O to offline device
[ 417.714151] Buffer I/O error on device sdb, logical block 0
[ 417.71...

Read more...

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Gioele,

What happens if you unload the ehci_hcd module prior to doing lsusb?

Revision history for this message
Gioele Barabucci (gioele) wrote :
Download full text (4.8 KiB)

Testing with Ubuntu 8.10 and no ehci_hcd: no oops but the device is not accessible.

With no ehci_hcd loaded, this is what I get when I insert the card reader:

[ 830.760185] usb 4-2: new full speed USB device using uhci_hcd and address 2
[ 830.934123] usb 4-2: configuration #1 chosen from 1 choice
[ 830.949049] scsi6 : SCSI emulation for USB Mass Storage devices
[ 830.952785] usb-storage: device found at 2
[ 830.952797] usb-storage: waiting for device to settle before scanning
[ 835.954520] usb-storage: device scan complete
[ 836.637436] scsi 6:0:0:0: Direct-Access Generic 6000 PQ: 0 ANSI: 0 CCS
[ 836.648266] sd 6:0:0:0: [sdb] 1987584 512-byte hardware sectors (1018 MB)
[ 836.651260] sd 6:0:0:0: [sdb] Write Protect is off
[ 836.651271] sd 6:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[ 836.651277] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 836.675516] sd 6:0:0:0: [sdb] 1987584 512-byte hardware sectors (1018 MB)
[ 836.679344] sd 6:0:0:0: [sdb] Write Protect is off
[ 836.679356] sd 6:0:0:0: [sdb] Mode Sense: 4b 00 00 08
[ 836.679362] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 836.679374] sdb:<3>end_request: I/O error, dev sdb, sector 0
[ 836.814378] __ratelimit: 5 callbacks suppressed
[ 836.814386] Buffer I/O error on device sdb, logical block 0

and this is what happens during lsusb:

[ 866.924193] usb 4-2: reset full speed USB device using uhci_hcd and address 2
[ 882.036225] usb 4-2: device descriptor read/64, error -110
[ 897.252189] usb 4-2: device descriptor read/64, error -110
[ 897.468182] usb 4-2: reset full speed USB device using uhci_hcd and address 2
[ 912.580205] usb 4-2: device descriptor read/64, error -110
[ 927.852188] usb 4-2: device descriptor read/64, error -110
[ 928.124184] usb 4-2: reset full speed USB device using uhci_hcd and address 2
[ 938.532183] usb 4-2: device not accepting address 2, error -110
[ 938.644177] usb 4-2: reset full speed USB device using uhci_hcd and address 2
[ 949.052175] usb 4-2: device not accepting address 2, error -110
[ 949.052300] usb 4-2: USB disconnect, address 2
[ 949.052333] sd 6:0:0:0: Device offlined - not ready after error recovery
[ 949.052350] sd 6:0:0:0: [sdb] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK,SUGGEST_OK
[ 949.052359] end_request: I/O error, dev sdb, sector 0
[ 949.052369] Buffer I/O error on device sdb, logical block 0
[ 949.052452] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052460] Buffer I/O error on device sdb, logical block 0
[ 949.052488] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052495] Buffer I/O error on device sdb, logical block 0
[ 949.052511] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052517] Buffer I/O error on device sdb, logical block 0
[ 949.052526] ldm_validate_partition_table(): Disk read failed.
[ 949.052538] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052543] Buffer I/O error on device sdb, logical block 0
[ 949.052558] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052563] Buffer I/O error on device sdb, logical block 0
[ 949.052578] sd 6:0:0:0: rejecting I/O to offline device
[ 949.052583] Buffer I/O error on device sdb, logical ...

Read more...

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

This bug report was marked as Triaged a while ago but has not had any updated comments for quite some time. Please let us know if this issue remains in the current Ubuntu release, http://www.ubuntu.com/getubuntu/download . If the issue remains, click on the current status under the Status column and change the status back to "New". Thanks.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-triage
Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

This bug report was marked as Incomplete and has not had any updated comments for quite some time. As a result this bug is being closed. Please reopen if this is still an issue in the current Ubuntu release http://www.ubuntu.com/getubuntu/download . Also, please be sure to provide any requested information that may have been missing. To reopen the bug, click on the current status under the Status column and change the status back to "New". Thanks.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-expired
Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.