Subject: Re: kern/25659
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: John Refling <refling@stanfordalumni.org>
List: netbsd-bugs
Date: 07/08/2005 00:06:21
   Well, after a long time to test this, that patch didn't
do anything to make the superdisk work.  I find it strange
that most of my usb -> ide stuff does not work under Netbsd.
These are the superdisks, the HP CD writers, etc.  Not uncommon
items!

   For fun, I thought I'd replace the CD writer in the HP
external USB CDR with an IDE hard drive!  That wasn't recognised
under windows or NetBSD.  I just thought that any IDE device
would be identified at the end of the USB bus.  Oh Well!

   Note that the original problem, the PCMCIA IDE controller
really does now work with the initial one line delay() patch that
you gave me.  I suppose that should get included in the next
release, if no objections.

   Are you also the PCMCIA/SCSI guru?  I have an adaptec aha-
1450 and -1460 PCMCIA SCSI controller.  I have a simple program
to just write sequential data to the entire raw partition.
Works (worked?) fine on the other adaptec aic- controllers (ISA,
PCI) but on the PCMCIA bus, brings the system load to between 1.3
and 1.6 and top shows 99% interrupt.  Where should I post that?

   This is on 2.0/i386/GENERIC.  =


   Thanks for your help.

------ Original Message ------
From: Manuel Bouyer <bouyer@antioche.eu.org>
To: John Refling <refling@stanfordalumni.org>Cc: netbsd-bugs@NetBSD.org
Subject: Re: kern/25659

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
--


Index: umass_isdata.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 =3D &scbus->sc_drv_data;
 	scbus->sc_drv_data.drive_flags =3D DRIVE_ATA;
 	scbus->sc_drv_data.chnl_softc =3D sc;
+	delay(1000000);
 	scbus->base.sc_child =3D config_found(&sc->sc_dev, &adev, uwdprint);
 =

 	return (0);
Index: umass_scsipi.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 =3D
 	    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 =3D
 	    config_found(&sc->sc_dev, &scbus->sc_channel, scsipiprint);




____________________________________________________________________
   =