On 20.08.2020 12:43, Yuusuke Ashizuka wrote:

When this driver is built as a module, I cannot rmmod it after insmoding
it.
This is because that this driver calls ravb_mdio_init() at the time of

   "That" not needed here at all; perhaps can be fixed while applying...

probe, and module->refcnt is incremented by alloc_mdio_bitbang() called
after that.
Therefore, even if ifup is not performed, the driver is in use and rmmod
cannot be performed.

$ lsmod
Module                  Size  Used by
ravb                   40960  1
$ rmmod ravb
rmmod: ERROR: Module ravb is in use

Call ravb_mdio_init() at open and free_mdio_bitbang() at close, thereby
rmmod is possible in the ifdown state.

Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper")
Signed-off-by: Yuusuke Ashizuka <ashid...@fujitsu.com>
Reviewed-by: Sergei Shtylyov <sergei.shtyl...@gmail.com>
[...]

MBR, Sergei

Reply via email to