The latest bk fixes this problem for me.
version of isd200.c is 1.33 
Sorry to mail you direct, wanted you to know.
cliffw

> > 
> 
> Sorry to reply to myself, but. 
> I reverted to the 2.5.75 version of isd200.c and 
> things now appear to work. Brute force..
> Patch at end
> cliffw
> ----------
> > System: Via C3 
> > Mini-itx
> > VIA USB controller on motherboard
> > 
> > Device: Archos jukebox
> > ISD-200 
> > (also using a CD-ROM via firewire, that works fine, tested
> > with/witout)
> > 
> > Life was good using <= linux-2.5.75. The 2.6.0-test* kernels are not happy.
> > If the usb_storage module is compiled in, boot is normal, when
> > device is plugged in, things stop here:
> > --
> > Aug 31 17:27:03 tinyOne kernel: hub 4-0:0: 2 ports detected
> > Aug 31 17:27:03 tinyOne kernel: Initializing USB Mass Storage driver...
> > Aug 31 17:27:03 tinyOne kernel: drivers/usb/core/usb.c: registered new driver 
> > usb-storage
> > Aug 31 17:27:03 tinyOne kernel: USB Mass Storage support registered.
> > ---
> > No /dev/sd*, no good.
> > 
> > < 2.5.75 i normally see this:
> > -----------
> > Aug 31 17:27:29 tinyOne kernel: scsi1 : SCSI emulation for USB Mass Storage devices
> > Aug 31 17:27:29 tinyOne kernel:   Vendor: HITACHI_  Model: DK23CA-20         Rev: 
> > 00H1
> > ....and on
> > ------------
> > Device looks fine in /proc/scsi/usb-storage/1
> > 
> > Host scsi1: usb-storage
> >        Vendor: In-System Design
> >       Product: USB Storage Adapter
> > Serial Number: 4804A07970A2FFA1
> >      Protocol: Transparent SCSI
> >     Transport: Bulk
> >        Quirks:
> > 
> > 
> > /sbin/rescan-scsi-bus.sh no longer detects the firewire device,
> > echo 'scsi add-single-device 1 0 1 0' >/proc/scsi/scsi
> > never returns. 
> > 
> > If usb_storage is compiled as a module, insmod usb_storage never returns.
> > The system is useable otherwise. -test4 requires me to use 'acpi=off' (via-rhine)
> > so i've tested that also :( Symptoms unchanged since -test1, have tried various 
> > -mm* 
> > patches also. 
> > 
> > I though i'd seen mention of this problem elsewhere, but i haven't been able to
> > search out any email's with my problem. This involves possibly ide-scsi,scsi or 
> > usb_storage,
> > so if someone could point me somewhere, i'd appreciate
> > 
> > cliffw
> ----------
> patch to revert isd200.c -> 2.5.75 
> -----------------
> 
> --- linux-2.6.0-test4-stk/drivers/usb/storage/isd200.c        2003-08-22 
> 16:55:45.000000000 -0700
> +++ linux-2.6.0-test4-old/drivers/usb/storage/isd200.c        2003-09-02 
> 21:11:05.000000000 -0700
> @@ -280,7 +280,6 @@
>  
>       /* maximum number of LUNs supported */
>       unsigned char MaxLUNs;
> -     struct scsi_cmnd srb;
>  };
>  
>  
> @@ -405,15 +404,15 @@
>                         void* pointer, int value )
>  {
>       union ata_cdb ata;
> +     struct scsi_cmnd srb;
>       struct scsi_device srb_dev;
>       struct isd200_info *info = (struct isd200_info *)us->extra;
> -     struct scsi_cmnd *srb = &info->srb;
>       int status;
>  
>       memset(&ata, 0, sizeof(ata));
> +     memset(&srb, 0, sizeof(srb));
>       memset(&srb_dev, 0, sizeof(srb_dev));
> -     srb->device = &srb_dev;
> -     ++srb->serial_number;
> +     srb.device = &srb_dev;
>  
>       ata.generic.SignatureByte0 = info->ConfigData.ATAMajorCommand;
>       ata.generic.SignatureByte1 = info->ConfigData.ATAMinorCommand;
> @@ -426,9 +425,9 @@
>               ata.generic.RegisterSelect =
>                 REG_CYLINDER_LOW | REG_CYLINDER_HIGH |
>                 REG_STATUS | REG_ERROR;
> -             srb->sc_data_direction = SCSI_DATA_READ;
> -             srb->request_buffer = pointer;
> -             srb->request_bufflen = value;
> +             srb.sc_data_direction = SCSI_DATA_READ;
> +             srb.request_buffer = pointer;
> +             srb.request_bufflen = value;
>               break;
>  
>       case ACTION_ENUM:
> @@ -438,7 +437,7 @@
>                                          ACTION_SELECT_5;
>               ata.generic.RegisterSelect = REG_DEVICE_HEAD;
>               ata.write.DeviceHeadByte = value;
> -             srb->sc_data_direction = SCSI_DATA_NONE;
> +             srb.sc_data_direction = SCSI_DATA_NONE;
>               break;
>  
>       case ACTION_RESET:
> @@ -447,7 +446,7 @@
>                                          ACTION_SELECT_3|ACTION_SELECT_4;
>               ata.generic.RegisterSelect = REG_DEVICE_CONTROL;
>               ata.write.DeviceControlByte = ATA_DC_RESET_CONTROLLER;
> -             srb->sc_data_direction = SCSI_DATA_NONE;
> +             srb.sc_data_direction = SCSI_DATA_NONE;
>               break;
>  
>       case ACTION_REENABLE:
> @@ -456,7 +455,7 @@
>                                          ACTION_SELECT_3|ACTION_SELECT_4;
>               ata.generic.RegisterSelect = REG_DEVICE_CONTROL;
>               ata.write.DeviceControlByte = ATA_DC_REENABLE_CONTROLLER;
> -             srb->sc_data_direction = SCSI_DATA_NONE;
> +             srb.sc_data_direction = SCSI_DATA_NONE;
>               break;
>  
>       case ACTION_SOFT_RESET:
> @@ -465,16 +464,16 @@
>               ata.generic.RegisterSelect = REG_DEVICE_HEAD | REG_COMMAND;
>               ata.write.DeviceHeadByte = info->DeviceHead;
>               ata.write.CommandByte = WIN_SRST;
> -             srb->sc_data_direction = SCSI_DATA_NONE;
> +             srb.sc_data_direction = SCSI_DATA_NONE;
>               break;
>  
>       case ACTION_IDENTIFY:
>               US_DEBUGP("   isd200_action(IDENTIFY)\n");
>               ata.generic.RegisterSelect = REG_COMMAND;
>               ata.write.CommandByte = WIN_IDENTIFY;
> -             srb->sc_data_direction = SCSI_DATA_READ;
> -             srb->request_buffer = (void *)&info->drive;
> -             srb->request_bufflen = sizeof(struct hd_driveid);
> +             srb.sc_data_direction = SCSI_DATA_READ;
> +             srb.request_buffer = (void *)&info->drive;
> +             srb.request_bufflen = sizeof(struct hd_driveid);
>               break;
>  
>       default:
> @@ -482,9 +481,9 @@
>               break;
>       }
>  
> -     memcpy(srb->cmnd, &ata, sizeof(ata.generic));
> -     srb->cmd_len = sizeof(ata.generic);
> -     status = usb_stor_Bulk_transport(srb, us);
> +     memcpy(srb.cmnd, &ata, sizeof(ata.generic));
> +     srb.cmd_len = sizeof(ata.generic);
> +     status = usb_stor_Bulk_transport(&srb, us);
>       if (status == USB_STOR_TRANSPORT_GOOD)
>               status = ISD200_GOOD;
>       else {
> @@ -835,7 +834,7 @@
>                          int detect )
>  {
>       int status = ISD200_GOOD;
> -     unsigned char *regs = us->iobuf;
> +     unsigned char regs[8];
>       unsigned long endTime;
>       struct isd200_info *info = (struct isd200_info *)us->extra;
>       int recheckAsMaster = FALSE;
> @@ -857,7 +856,7 @@
>                       break;
>  
>               status = isd200_action( us, ACTION_READ_STATUS, 
> -                                     regs, 8 );
> +                                     regs, sizeof(regs) );
>               if ( status != ISD200_GOOD )
>                       break;
>  
> -------------
> > 
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > [EMAIL PROTECTED]
> > To unsubscribe, use the last form field at:
> > https://lists.sourceforge.net/lists/listinfo/linux-usb-users
> > 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-users
> 


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to