Kernel panic on usb disconnect?

Krassimir Slavchev krassi at bulinfo.net
Tue Aug 7 14:45:35 UTC 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

M. Warner Losh wrote:
> In message: <46B87129.1060800 at bulinfo.net>
>             Krassimir Slavchev <krassi at bulinfo.net> writes:
> : -----BEGIN PGP SIGNED MESSAGE-----
> : Hash: SHA1
> : 
> : Bernd Walter wrote:
> : > On Tue, Aug 07, 2007 at 03:02:41PM +0300, Krassimir Slavchev wrote:
> : >> -----BEGIN PGP SIGNED MESSAGE-----
> : >> Hash: SHA1
> : >>
> : >> This is on at91rm9200 with latest -current
> : >>
> : >> On connect:
> : >>
> : >> umass0: <Corsair Flash Voyager, class 0/0, rev 2.00/11.00, addr 2> on uhub0
> : >> umass0: SCSI over Bulk-Only; quirks = 0x0000
> : >> umass0:0:0:-1: Attached to scbus0
> : >> Expensive timeout(9) function: 0xc00357f0(0xc07e6c00) 0.002746582 s
> : >>
> : >> On disconnect:
> : >>
> : >> umass0: BBB reset failed, IOERROR
> : >> umass0: at uhub0 port 1 (addr 2) disconnected
> : > 
> : > This problem is not arm specific.
> : > You have to unmount umass devices befor you can disconnect them.
> : > 
> : 
> : Yes, I know, the device is not mounted. Unfortunately I can't reproduce
> : this on i386.
> 
> I've pulled usb tumbdrives on arm a few times and haven't seen this.
> How do you recreate it?
> 
> Warner
> 

This happens only with one of my memory sticks. I am not sure what is
wrong with it. It works under 6.2:

umass0: Corsair Flash Voyager, rev 2.00/11.00, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Corsair Flash Voyager 1100> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 967MB (1981440 512 byte sectors: 64H 32S/T 967C)
umass0: at uhub3 port 2 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
umass0: detached

Also, when the kernel boots the usb devices are not detected:

uhub0: 2 ports with 2 removable, self powered
usbd_get_config_desc: confidx=0, bad desc len=9 type=32
uhub_explore: usb_new_device failed, error=INVAL
uhub0: device problem (INVAL), disabling port 1

I am not sure whether this is a hardware problem of my board or
something wrong with the bootloader (may be something remains
uninitialized).

With another memory stick:

umass0: <Generic Mass Storage Device, class 0/0, rev 2.00/1.02, addr 2>
on uhub0
umass0: SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Multi Flash Reader 1.00> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 952MB (1950720 512 byte sectors: 64H 32S/T 952C)
umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
umass0: detached

Now I can read the raw device but can't mount anything:

mount -t msdosfs /dev/da0s1 /mnt/
mount_msdosfs: /dev/da0s1: : Operation not supported by device

'fsck -t msdosfs /dev/da0s1' always reports errors.

It looks like communication error.


Any ideas?


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFGuIWLxJBWvpalMpkRAunQAJ0eNoUtv6j3UE/bYDA0s3fa2nEBnACgsS04
3km0HcIZFVAtjrMkWL5YyV0=
=RCEb
-----END PGP SIGNATURE-----


More information about the freebsd-arm mailing list