Bug 3400 - Kernel reports a bug when unmounting USB keychain
Kernel reports a bug when unmounting USB keychain
Status: REJECTED INSUFFICIENT_DATA
Product: Drivers
Classification: Unclassified
Component: USB
i386 Linux
: P2 normal
Assigned To: Greg Kroah-Hartman
:
Depends on:
Blocks: USB
  Show dependency treegraph
 
Reported: 2004-09-14 21:53 UTC by Alex Austin
Modified: 2006-04-22 15:11 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.8-gentoo-r3 (I'm not sure what patches they include)
Tree: Mainline
Regression: ---


Attachments

Description Alex Austin 2004-09-14 21:53:18 UTC
The kernel printed out the following when I tried to unmount my USB keychain.
I have *not* been able to reproduce this bug consistantly. I hope that the
following is useful. By the way, this happened after the keychain had been
mounted, but not used for about half an hour. If you're interested, it is a
Memorex 512 MB keychain using FAT32. I
mounted /dev/sda (not sda1 like my other fried one) for it to work.

kernel BUG at mm/slab.c:1382!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: usb_storage sd_mod scsi_mod rtc ohci_hcd
CPU:    0
EIP:    0060:[<c013f409>]    Not tainted
EFLAGS: 00010202   (2.6.8-gentoo-r3)
EIP is at kmem_cache_create+0x3b9/0x550
eax: 00000032   ebx: c13adc50   ecx: c0479018   edx: c03a9458
esi: d096f68f   edi: d096f68f   ebp: c13adb60   esp: cfeffd2c
ds: 007b   es: 007b   ss: 0068
Process khubd (pid: 21, threadinfo=cfefe000 task=cfed1100)
Stack: c036ec5c d096f680 00000020 00002000 cfeffd4c c13adb9c ffffffff ffffffe0
       000000a0 cfeeac00 d09799e0 cfeeac0c d0979a08 d0966384 d096f680 00000160
       00000020 00002000 00000000 00000000 000001d8 cfeeac00 cfeeadd8 d0956920
Call Trace:
 [<d0966384>] scsi_setup_command_freelist+0x74/0x100 [scsi_mod]
 [<d096745b>] scsi_host_alloc+0x1ab/0x2b0 [scsi_mod]
 [<d0941f34>] usb_stor_Bulk_max_lun+0x74/0xc0 [usb_storage]
 [<d094338e>] usb_stor_acquire_resources+0x6e/0x130 [usb_storage]
 [<d094374b>] storage_probe+0x13b/0x240 [usb_storage]
 [<c028397a>] usb_probe_interface+0x5a/0x60
 [<c025450f>] bus_match+0x3f/0x70
 [<c0254581>] device_attach+0x41/0xa0
 [<c025485b>] bus_add_device+0x5b/0xb0
 [<c0253611>] device_add+0xa1/0x130
 [<c028ae3e>] usb_set_configuration+0x2de/0x460
 [<c0285d24>] usb_new_device+0xb4/0x170
 [<c0286a12>] hub_port_connect_change+0x212/0x400
 [<c02848d8>] clear_port_feature+0x58/0x60
 [<c0286e75>] hub_events+0x275/0x3c0
 [<c0286ff5>] hub_thread+0x35/0x110
 [<c0119a40>] autoremove_wake_function+0x0/0x60
 [<c0105ade>] ret_from_fork+0x6/0x14
 [<c0119a40>] autoremove_wake_function+0x0/0x60
 [<c0286fc0>] hub_thread+0x0/0x110
 [<c0103d91>] kernel_thread_helper+0x5/0x14
Code: 0f 0b 66 05 73 e5 36 c0 8b 0b e9 63 ff ff ff 8b 47 34 c7 04

/proc/bus/usb/devices includes

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0d7d ProdID=1400 Rev= 0.02
S:  Manufacturer=
S:  Product=Memorex TD 2B
S:  SerialNumber=07470E081240
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

I found the following in my /var/log/messages file.

Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (1:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (2:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (3:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (4:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (5:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (6:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux usb-storage: queuecommand called
Sep 11 03:56:22 linux usb-storage: *** thread awakened.
Sep 11 03:56:22 linux usb-storage: Bad target number (7:0)
Sep 11 03:56:22 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:56:22 linux usb-storage: *** thread sleeping.
Sep 11 03:56:22 linux USB Mass Storage device found at 2
Sep 11 03:57:56 linux usb usb1: USB disconnect, address 1
Sep 11 03:57:56 linux ohci_hcd 0000:00:02.2: USB bus 1 deregistered
Sep 11 03:57:56 linux usb usb2: USB disconnect, address 1
Sep 11 03:57:56 linux usb 2-1: USB disconnect, address 2
Sep 11 03:57:56 linux usb-storage: storage_disconnect() called
Sep 11 03:57:56 linux usb-storage: usb_stor_stop_transport called
Sep 11 03:57:56 linux usb-storage: -- usb_stor_release_resources
Sep 11 03:57:56 linux usb-storage: -- sending exit command to thread
Sep 11 03:57:56 linux usb-storage: *** thread awakened.
Sep 11 03:57:56 linux usb-storage: -- exit command received
Sep 11 03:57:56 linux usb-storage: -- dissociate_dev
Sep 11 03:57:56 linux ohci_hcd 0000:00:02.3: USB bus 2 deregistered
Sep 11 03:58:01 linux usb-storage: usb_stor_exit() called
Sep 11 03:58:01 linux usb-storage: -- calling usb_deregister()
Sep 11 03:58:01 linux usbcore: deregistering driver usb-storage

This happened after I removed and reinstalled the usb-storage and sd-mod
modules.

Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Command INQUIRY (6 bytes)
Sep 11 03:58:34 linux usb-storage:  12 00 00 00 24 00
Sep 11 03:58:34 linux usb-storage: Bulk Command S 0x43425355 T 0x9 L 36 F 128
Trg 0 LUN 0 CL 6
Sep 11 03:58:34 linux usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
Sep 11 03:58:34 linux usb-storage: Status code 0; transferred 31/31
Sep 11 03:58:34 linux usb-storage: -- transfer complete
Sep 11 03:58:34 linux usb-storage: Bulk command transfer result=0
Sep 11 03:58:34 linux usb-storage: usb_stor_bulk_transfer_buf: xfer 36 bytes
Sep 11 03:58:34 linux usb-storage: Status code 0; transferred 36/36
Sep 11 03:58:34 linux usb-storage: -- transfer complete
Sep 11 03:58:34 linux usb-storage: Bulk data transfer result 0x0
Sep 11 03:58:34 linux usb-storage: Attempting to get CSW...
Sep 11 03:58:34 linux usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
Sep 11 03:58:34 linux usb-storage: Status code 0; transferred 13/13
Sep 11 03:58:34 linux usb-storage: -- transfer complete
Sep 11 03:58:34 linux usb-storage: Bulk status result = 0
Sep 11 03:58:34 linux usb-storage: Bulk Status S 0x53425355 T 0x9 R 0 Stat 0x0
Sep 11 03:58:34 linux usb-storage: Fixing INQUIRY data to show SCSI rev 2 - was 0
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x0
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (1:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (2:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (3:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (4:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (5:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (6:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux usb-storage: queuecommand called
Sep 11 03:58:34 linux usb-storage: *** thread awakened.
Sep 11 03:58:34 linux usb-storage: Bad target number (7:0)
Sep 11 03:58:34 linux usb-storage: scsi cmd done, result=0x40000
Sep 11 03:58:34 linux usb-storage: *** thread sleeping.
Sep 11 03:58:34 linux USB Mass Storage device found at 2
Sep 11 03:58:34 linux usbcore: registered new driver usb-storage
Sep 11 03:58:34 linux USB Mass Storage support registered.
Sep 11 04:51:15 linux Modules linked in: scsi_mod usb_storage ohci_hcd
Sep 11 04:55:55 linux <6>usb 2-1: USB disconnect, address 2
Sep 11 04:55:55 linux usb-storage: storage_disconnect() called
Sep 11 04:55:55 linux usb-storage: usb_stor_stop_transport called
Sep 11 04:55:55 linux usb-storage: -- usb_stor_release_resources
Sep 11 04:55:55 linux usb-storage: -- sending exit command to thread
Sep 11 04:55:55 linux usb-storage: *** thread awakened.
Sep 11 04:55:55 linux usb-storage: -- exit command received
Sep 11 04:55:55 linux usb-storage: -- dissociate_dev
Comment 1 Diego Calleja 2006-01-05 08:43:18 UTC
Does this still happens in 2.6.15?
Comment 2 Diego Calleja 2006-02-15 05:39:42 UTC
Set this as "NEED MORE INFO" - the reporter doesn't seems to be ping-able. If
someone can reproduce this in latests versions please reopen
Comment 3 Adrian Bunk 2006-04-22 13:04:33 UTC
Please reopen this bug if it's still present in kernel 2.6.16.

Note You need to log in before you can comment on or make changes to this bug.