Re: [RFC PATCH net-next 1/5] net: dsa: realtek-smi: fix mdio_free bug on module unload

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrew,

On 8/22/21 11:40 PM, Andrew Lunn wrote:
> On Sun, Aug 22, 2021 at 09:31:39PM +0200, Alvin Šipraga wrote:
>> From: Alvin Šipraga <alsi@xxxxxxxxxxxxxxx>
>>
>> realtek-smi-core fails to unregister the slave MII bus on module unload,
>> raising the following BUG warning:
>>
>>      mdio_bus.c:650: BUG_ON(bus->state != MDIOBUS_UNREGISTERED);
>>
>>      kernel BUG at drivers/net/phy/mdio_bus.c:650!
>>      Internal error: Oops - BUG: 0 [#1] PREEMPT_RT SMP
>>      Call trace:
>>       mdiobus_free+0x4c/0x50
>>       devm_mdiobus_free+0x18/0x20
>>       release_nodes.isra.0+0x1c0/0x2b0
>>       devres_release_all+0x38/0x58
>>       device_release_driver_internal+0x124/0x1e8
>>       driver_detach+0x54/0xe0
>>       bus_remove_driver+0x60/0xd8
>>       driver_unregister+0x34/0x60
>>       platform_driver_unregister+0x18/0x20
>>       realtek_smi_driver_exit+0x14/0x1c [realtek_smi]
>>
>> Fix this by duly unregistering the slave MII bus with
>> mdiobus_unregister. We do this in the DSA teardown path, since
>> registration is performed in the DSA setup path.
> 
> Looking at the setup code, is there anything undoing what
> rtl8366rb_setup_cascaded_irq() does?

No, there isn't. I neglected to mention in the rtl8365mb patch that I 
reworked the IRQ setup (compared with rtl8366rb) so that it could be 
torn down in a neat way. So you will see that the new driver does it 
properly, but I did not touch rtl8366rb because I am not using it. I am 
happy to do the same to rtl8366rb but I don't think I should make it 
part of this series. What do you think?

> 
> This patch however loos O.K.
> 
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
> 
>      Andrew
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux