Re: 2.6.21-rc3 - oops on remove of USB dongle
"John Stoffel" <[email protected]>
| Newsgroups | gmane.linux.usb.devel,gmane.spam.detected |
|---|---|
| Message-ID | <[email protected]> |
Duh... forgot the patches: ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
2.6.21-rc-usb-serial.patch
(application/octet-stream, 1.9 KB)
--- a/drivers/usb/serial/usb-serial.c 2007-03-05 14:43:20.000000000 +0100
+++ b/drivers/usb/serial/usb-serial.c 2007-03-05 15:18:53.000000000 +0100
@@ -99,9 +99,12 @@
continue;
*minor = i;
+ j = 0;
dbg("%s - minor base = %d", __FUNCTION__, *minor);
- for (i = *minor; (i < (*minor + num_ports)) && (i < SERIAL_TTY_MINORS); ++i)
+ for (i = *minor; (i < (*minor + num_ports)) && (i < SERIAL_TTY_MINORS); ++i) {
serial_table[i] = serial;
+ serial->port[j++]->number = i;
+ }
spin_unlock(&table_lock);
return serial;
}
@@ -848,7 +851,6 @@
port = kzalloc(sizeof(struct usb_serial_port), GFP_KERNEL);
if (!port)
goto probe_error;
- port->number = i + serial->minor;
port->serial = serial;
spin_lock_init(&port->lock);
mutex_init(&port->mutex);
@@ -1035,9 +1037,6 @@
kfree(port->interrupt_out_buffer);
}
- /* return the minor range that this device had */
- return_serial (serial);
-
/* free up any memory that we allocated */
for (i = 0; i < serial->num_port_pointers; ++i)
kfree(serial->port[i]);
--Boundary-00=_hDZ8F/6w9T6/QkM
Content-Type: text/x-diff;
charset="iso-8859-1";
name="usbserial20070227.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="usbserial20070227.patch"
--- linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c.alt 2007-02-21 05:32:30.000000000 +0100
+++ linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c 2007-02-26 15:32:50.000000000 +0100
@@ -826,7 +826,6 @@
num_ports = type->num_ports;
}
- serial->minor = minor;
serial->num_ports = num_ports;
serial->num_bulk_in = num_bulk_in;
serial->num_bulk_out = num_bulk_out;
@@ -980,6 +979,7 @@
dev_err(&interface->dev, "No more free serial devices\n");
goto probe_error;
}
+ serial->minor = minor;
/* register all of the individual ports with the driver core */
for (i = 0; i < num_ports; ++i) {
--Boundary-00=_hDZ8F/6w9T6/QkM--