2021-06-23 06:16:13

by Saubhik Mukherjee

[permalink] [raw]
Subject: [question] De-registration does not remove port

In drivers/tty/serial/arc_uart.c, arc_serial_remove always returns 0,
instead of calling uart_remove_one_port to remove uart port from serial
core. The comment says "This will be never be called". In my
understanding, a port added using uart_add_one_port should be removed
during de-registration.

Is there a reason for this behavior?


2021-06-23 07:15:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [question] De-registration does not remove port

On Wed, Jun 23, 2021 at 11:42:36AM +0530, Saubhik Mukherjee wrote:
> In drivers/tty/serial/arc_uart.c, arc_serial_remove always returns 0,
> instead of calling uart_remove_one_port to remove uart port from serial
> core. The comment says "This will be never be called". In my understanding,
> a port added using uart_add_one_port should be removed during
> de-registration.
>
> Is there a reason for this behavior?

Did you test the code to see if that function will ever be called?

thanks,

greg k-h

2021-06-24 13:04:52

by Saubhik Mukherjee

[permalink] [raw]
Subject: Re: [question] De-registration does not remove port

On 6/23/21 12:44 PM, Greg KH wrote:
> On Wed, Jun 23, 2021 at 11:42:36AM +0530, Saubhik Mukherjee wrote:
>> In drivers/tty/serial/arc_uart.c, arc_serial_remove always returns 0,
>> instead of calling uart_remove_one_port to remove uart port from serial
>> core. The comment says "This will be never be called". In my understanding,
>> a port added using uart_add_one_port should be removed during
>> de-registration.
>>
>> Is there a reason for this behavior?
>
> Did you test the code to see if that function will ever be called?

I would like to reformulate the question: Suppose arc_serial_remove is
never called. Then I would like to know how the driver de-registration
is organized since the UART port is never removed?

2021-06-24 13:11:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [question] De-registration does not remove port

On Thu, Jun 24, 2021 at 06:33:01PM +0530, Saubhik Mukherjee wrote:
> On 6/23/21 12:44 PM, Greg KH wrote:
> > On Wed, Jun 23, 2021 at 11:42:36AM +0530, Saubhik Mukherjee wrote:
> > > In drivers/tty/serial/arc_uart.c, arc_serial_remove always returns 0,
> > > instead of calling uart_remove_one_port to remove uart port from serial
> > > core. The comment says "This will be never be called". In my understanding,
> > > a port added using uart_add_one_port should be removed during
> > > de-registration.
> > >
> > > Is there a reason for this behavior?
> >
> > Did you test the code to see if that function will ever be called?
>
> I would like to reformulate the question: Suppose arc_serial_remove is never
> called. Then I would like to know how the driver de-registration is
> organized since the UART port is never removed?

I would like to reiterate my original question, have you tested this?