JE, please apply
oops, forgot to attach the patchfile
On Thu, 7 Jun 2001, Steve Tell wrote:
>
> Greetings from Chapel Hill, North Carolina, USA...
>
> I recently bought a USB parallel-port adaptor cable and discovered that is
> used a Lucent uss720 chip. Naturaly I had to get it working with your
> driver module for general-purpose bit-fiddling.
>
> The result is this little patch.
>
> - Adds the product and vendor ID for this adaptor, a Belkin inc. model
> "F5U002"
>
> - Fixes get_1284_register() so that reads of the status register
> work properly. The old code was assuming that usb_control_msg() returned
> 0 on success, when apparently it (now) returns the message length.
>
> This has been tested with both 2.4.2 (RedHat 7.1) and 2.4.5 (plain kernel
> distribution).
>
> One remaining oddity: the nFault signal (status register bit 3) seems to
> be stuck at 1 regardless of the state of the external pin. The other
> status bits do work.
>
>
> I hope you can consider incorporating this patch or a variation into
> the standard linux-usb sources.
>
> regards,
> Steve
>
>
>
> --
> Steve Tell [EMAIL PROTECTED]
>
>
>
--
--
Steve Tell [EMAIL PROTECTED]
--- linux-2.4.2-sgt/drivers/usb/uss720.c Thu Jan 4 16:15:32 2001
+++ linux-2.4.2/drivers/usb/uss720.c Thu Jun 7 01:25:46 2001
@@ -67,9 +67,10 @@
if (!usbdev)
return -1;
ret = usb_control_msg(usbdev, usb_rcvctrlpipe(usbdev,0), 3, 0xc0, ((unsigned
int)reg) << 8, 0, priv->reg, 7, HZ);
- if (ret) {
- printk(KERN_DEBUG "uss720: get_1284_register(%d) failed, status
0x%x\n",
+ if (ret != 7) {
+ printk(KERN_DEBUG "uss720: get_1284_register(%d) failed, status 0x%x
+expected 7\n",
(unsigned int)reg, ret);
+ ret = -1;
} else {
#if 0
printk(KERN_DEBUG "uss720: get_1284_register(%d) return %02x %02x %02x
%02x %02x %02x %02x\n",
@@ -80,6 +81,7 @@
/* if nAck interrupts are enabled and we have an interrupt, call the
interrupt procedure */
if (priv->reg[2] & priv->reg[1] & 0x10)
parport_generic_irq(0, pp, NULL);
+ ret = 0;
}
if (val)
*val = priv->reg[(reg >= 9) ? 0 : regindex[reg]];
@@ -628,6 +630,7 @@
{ USB_DEVICE(0x047e, 0x1001) },
{ USB_DEVICE(0x0557, 0x2001) },
{ USB_DEVICE(0x0729, 0x1284) },
+ { USB_DEVICE(0x1293, 0x0002) },
{ } /* Terminating entry */
};