[2.6 PATCH] visor: Always do generic_startup

From: Roger Luethi
Date: Tue Nov 16 2004 - 10:51:47 EST


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@xxxxxxxxxxx>

--- 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);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/