[2.6 PATCH] visor: Always do generic_startup

Roger Luethi
2004-11-16T15:50:06Z

generic_startup in visor.c was not called for some hardware, resulting
in attempts to access memory that had never been allocated, which in
turn caused the problem several people reported with recent (2.6.10ish)
kernels.

Signed-off-by: Roger Luethi <rl@hellgate.ch>

--- linux-2.6.10-rc2/drivers/usb/serial/visor.c.orig 2004-11-16 16:03:05.000000000 +0100
+++ linux-2.6.10-rc2/drivers/usb/serial/visor.c 2004-11-16 16:31:24.235249944 +0100
@@ -930,7 +930,7 @@ static int treo_attach (struct usb_seria
if (!((serial->dev->descriptor.idVendor == HANDSPRING_VENDOR_ID) ||
(serial->dev->descriptor.idVendor == KYOCERA_VENDOR_ID)) ||
(serial->num_interrupt_in == 0))
- return 0;
+ goto generic_startup;

dbg("%s", __FUNCTION__);

@@ -957,6 +957,7 @@ static int treo_attach (struct usb_seria
COPY_PORT(serial->port[1], swap_port);
kfree(swap_port);

+generic_startup:
return generic_startup(serial);
}