Could you make a 2.5.x version of this patch, also? And the unusual_devs.h entry should use US_PR_DEVICE and US_SC_DEVICE.
Matt On Thu, Jun 19, 2003 at 07:49:27PM -0500, Kevin Cernekee wrote: > diff -ruN linux-2.4.21/drivers/usb/storage/initializers.c > linux-2.4.21.patched/drivers/usb/storage/initializers.c > --- linux-2.4.21/drivers/usb/storage/initializers.c 2000-09-08 18:39:12.000000000 > -0500 > +++ linux-2.4.21.patched/drivers/usb/storage/initializers.c 2003-06-19 > 16:49:24.000000000 -0500 > @@ -39,6 +39,7 @@ > > #include "initializers.h" > #include "debug.h" > +#include "transport.h" > > /* This places the Shuttle/SCM USB<->SCSI bridge devices in multi-target > * mode */ > @@ -57,4 +58,51 @@ > return 0; > } > > +/* This function is required to enable all four slots on the UCR-61S2B > + * flash reader */ > > +int usb_stor_ucr61s2b_init(struct us_data *us) > +{ > + int pipe; > + struct bulk_cb_wrap *bcb; > + struct bulk_cs_wrap *bcs; > + int res, partial; > + > + bcb = kmalloc(sizeof *bcb, in_interrupt() ? GFP_ATOMIC : GFP_NOIO); > + if (!bcb) { > + return(-1); > + } > + bcs = kmalloc(sizeof *bcs, in_interrupt() ? GFP_ATOMIC : GFP_NOIO); > + if (!bcs) { > + kfree(bcb); > + return(-1); > + } > + > + US_DEBUGP("Sending UCR-61S2B initialization packet...\n"); > + > + bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN); > + bcb->Tag = ++(us->tag); > + bcb->DataTransferLength = cpu_to_le32(0); > + bcb->Flags = bcb->Lun = 0; > + bcb->Length = sizeof(UCR61S2B_INIT); > + memset(bcb->CDB, 0, sizeof(bcb->CDB)); > + memcpy(bcb->CDB, UCR61S2B_INIT, sizeof(UCR61S2B_INIT)); > + > + pipe = usb_sndbulkpipe(us->pusb_dev, us->ep_out); > + res = usb_stor_bulk_msg(us, bcb, pipe, US_BULK_CB_WRAP_LEN, &partial); > + US_DEBUGP("-- result is %d\n", res); > + kfree(bcb); > + > + if(res) { > + kfree(bcs); > + return(res); > + } > + > + pipe = usb_rcvbulkpipe(us->pusb_dev, us->ep_in); > + res = usb_stor_bulk_msg(us, bcs, pipe, US_BULK_CS_WRAP_LEN, &partial); > + US_DEBUGP("-- result of status read is %d\n", res); > + > + kfree(bcs); > + > + return(res ? -1 : 0); > +} > diff -ruN linux-2.4.21/drivers/usb/storage/initializers.h > linux-2.4.21.patched/drivers/usb/storage/initializers.h > --- linux-2.4.21/drivers/usb/storage/initializers.h 2001-11-22 13:49:34.000000000 > -0600 > +++ linux-2.4.21.patched/drivers/usb/storage/initializers.h 2003-06-19 > 16:49:25.000000000 -0500 > @@ -39,6 +39,12 @@ > > #include "usb.h" > > +#define UCR61S2B_INIT "\xec\x0a\x06\x00$PCCHIPS" > + > /* This places the Shuttle/SCM USB<->SCSI bridge devices in multi-target > * mode */ > int usb_stor_euscsi_init(struct us_data *us); > + > +/* This function is required to enable all four slots on the UCR-61S2B > + * flash reader */ > +int usb_stor_ucr61s2b_init(struct us_data *us); > diff -ruN linux-2.4.21/drivers/usb/storage/unusual_devs.h > linux-2.4.21.patched/drivers/usb/storage/unusual_devs.h > --- linux-2.4.21/drivers/usb/storage/unusual_devs.h 2003-06-13 09:51:37.000000000 > -0500 > +++ linux-2.4.21.patched/drivers/usb/storage/unusual_devs.h 2003-06-19 > 16:52:57.000000000 -0500 > @@ -576,6 +576,16 @@ > US_SC_SCSI, US_PR_BULK, NULL, > US_FL_START_STOP ), > > +/* Reported by Kevin Cernekee <[EMAIL PROTECTED]> > + * Tested on hardware version 1.10. > + * Entry is needed only for the initializer function override. > + */ > +UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x9999, > + "Desknote", > + "UCR-61S2B", > + US_SC_SCSI, US_PR_BULK, usb_stor_ucr61s2b_init, > + 0 ), > + > /* Reported by Dan Pilone <[EMAIL PROTECTED]> > * The device needs the flags only. > * Also reported by Brian Hall <[EMAIL PROTECTED]>, again for flags. > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > [EMAIL PROTECTED] > To unsubscribe, use the last form field at: > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel -- Matthew Dharm Home: [EMAIL PROTECTED] Maintainer, Linux USB Mass Storage Driver C: Why are you upgrading to NT? AJ: It must be the sick, sadistic streak that runs through me. -- Chief and A.J. User Friendly, 5/12/1998
pgp00000.pgp
Description: PGP signature