[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 03 Mar 2007 22:05:16 +0100
From: Andreas Laumann <al@...hentidate.de>
To: Oliver Neukum <oliver@...kum.org>
Cc: Kevin Fenzi <kevin@...ye.com>, linux-kernel@...r.kernel.org
Subject: Re: usbserial not working/oops on removal
Am Samstag, den 03.03.2007, 21:43 +0100 schrieb Oliver Neukum:
> Am Samstag, 3. März 2007 14:27 schrieb Andreas Laumann:
> > Unfortunately your fix does not work. The first one seems registered
> > correctly, but after that it fails again for the next one.
>
> Unfortunately the last patch I sent you introduced a race. Could you test
> this alternative patch?
>
> Regards
> Oliver
>
> --- a/drivers/usb/serial/usb-serial.c 2007-03-03 16:28:22.000000000 +0100
> +++ b/drivers/usb/serial/usb-serial.c 2007-03-03 21:37:27.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;
> }
> @@ -847,7 +850,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);
On top of the first patch ? Sure, I'll try it in a couple of minutes
Btw, I got rejects from the last patch (the racy one) you've sent and
had to apply them manually. Which version do you use ?
Regards
Andreas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists