Re: [PATCH] usb-serial regression fix

Mark Lord
2007-03-13T13:55:45Z

Jim Radford wrote:
> On Mon, Mar 12, 2007 at 09:55:14PM -0400, Mark Lord wrote:
>
>> So where does the memory get freed -- the structure pointed at
>> by the serial->port[i] thingie ? It's not a leak, is it?
>
> It gets free'd through device_unregister
>
> for (i = 0; i < num_ports; ++i) {
> ...
> port->dev.release = &port_release;
> ...
> retval = device_register(&port->dev);
>
> which means that until all the drivers get converted to use
> ->port_probe() and ->port_remove() (which gets called by
> device_unregister) and stop using the ->port[] array in ->shutdown()
> we need to have ->shutdown() called before device_unregister.
>
>>>>> Look at changeset d9a7ecacac5f8274d2afce09aadcf37bdb42b93a in Linus's
>>>>> tree from Jim Radford:
>
>>>>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9a7ecacac5f8274d2afce09aadcf37bdb42b93a
>
> So, this patch should be reverted for now.

Okay, so.. Jim, could you spell it out for us now?

I'm confused.

Based on the current 2.6.21-rc3-git*,
tell us *exactly* what (if any) needs to be reverted,
and *exactly* which (if any) of my suggested patches to apply ?

Thanks