Subject: Re: kern/25659
To: John Refling <refling@stanfordalumni.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: netbsd-bugs
Date: 06/19/2005 20:22:54
--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Sat, Jun 18, 2005 at 02:08:05PM -0700, John Refling wrote:
>
> I also have a "superdisk" which has an ide
> controller connected to the usb port... the
> controller is detected, but the drives are
> not... wonder if this is a similar issue...
> some delays need to be added somewhere.
Could be, if so the attached patch should make it work. Not the right fix,
but I don't know if we can tsleep in this part of the code.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff
Index: umass_isdata.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/umass_isdata.c,v
retrieving revision 1.13
diff -u -r1.13 umass_isdata.c
--- umass_isdata.c 20 Aug 2004 23:26:54 -0000 1.13
+++ umass_isdata.c 19 Jun 2005 18:22:10 -0000
@@ -220,6 +220,7 @@
adev.adev_drv_data = &scbus->sc_drv_data;
scbus->sc_drv_data.drive_flags = DRIVE_ATA;
scbus->sc_drv_data.chnl_softc = sc;
+ delay(1000000);
scbus->base.sc_child = config_found(&sc->sc_dev, &adev, uwdprint);
return (0);
Index: umass_scsipi.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/umass_scsipi.c,v
retrieving revision 1.24
diff -u -r1.24 umass_scsipi.c
--- umass_scsipi.c 21 Feb 2005 00:29:08 -0000 1.24
+++ umass_scsipi.c 19 Jun 2005 18:22:10 -0000
@@ -138,6 +138,8 @@
DPRINTF(UDMASS_USB, ("%s: umass_attach_bus: SCSI\n",
USBDEVNAME(sc->sc_dev)));
+ delay(1000000);
+
sc->sc_refcnt++;
scbus->base.sc_child =
config_found(&sc->sc_dev, &scbus->sc_channel, scsipiprint);
@@ -165,6 +167,8 @@
DPRINTF(UDMASS_USB, ("%s: umass_attach_bus: ATAPI\n",
USBDEVNAME(sc->sc_dev)));
+ delay(1000000);
+
sc->sc_refcnt++;
scbus->base.sc_child =
config_found(&sc->sc_dev, &scbus->sc_channel, scsipiprint);
--Qxx1br4bt0+wmkIi--