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

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to