[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YzM0Z4gXsjZTDkX0@kroah.com>
Date: Tue, 27 Sep 2022 19:35:35 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Larry Finger <Larry.Finger@...inger.net>
Cc: LKML <linux-kernel@...r.kernel.org>,
linux-wireless <linux-wireless@...r.kernel.org>
Subject: Re: Problem with modprobe
On Tue, Sep 27, 2022 at 12:11:24PM -0500, Larry Finger wrote:
> Hi,
>
> The driver for the Realtek RTL8821CE network card show some asymmetrical
> behavior between loading and unloading.
>
> Starting from scratch, a load command provides the expected results:
>
> finger@...alhost:~/rtw88>sudo modprobe -v rtw88_8821ce
> insmod /lib/modules/6.1.0-rc3-wireless-next-00623-g2bc09edc7fa2-dirty/kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
>
> insmod /lib/modules/6.1.0-rc3-wireless-next-00623-g2bc09edc7fa2-dirty/kernel/drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
>
> insmod /lib/modules/6.1.0-rc3-wireless-next-00623-g2bc09edc7fa2-dirty/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
>
> insmod /lib/modules/6.1.0-rc3-wireless-next-00623-g2bc09edc7fa2-dirty/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko
>
> Unloading produces a different result:
>
> finger@...alhost:~/rtw88>sudo modprobe -rv rtw88_8821ce
> rmmod rtw88_8821ce
> rmmod rtw88_pci
> rmmod rtw88_8821c
>
> Note that rtw88_core is still loaded and needs to be unloaded separately:
>
> finger@...alhost:~/rtw88>sudo modprobe -rv rtw88_core
> rmmod rtw88_core
>
> The appropriate lines from modules.dep reformatted for clarity are as follows:
>
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko:
> kernel/net/mac80211/mac80211.ko
> kernel/lib/crypto/libarc4.ko
> kernel/net/wireless/cfg80211.ko
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko:
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
> kernel/net/mac80211/mac80211.ko
> kernel/lib/crypto/libarc4.ko
> kernel/net/wireless/cfg80211.ko
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko:
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
> kernel/net/mac80211/mac80211.ko
> kernel/lib/crypto/libarc4.ko
> kernel/net/wireless/cfg80211.ko
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_pci.ko:
> kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
> kernel/net/mac80211/mac80211.ko
> kernel/lib/crypto/libarc4.ko
> kernel/net/wireless/cfg80211.ko
>
> What is the explanation for the failure to auto-unload rtw88_core?
I don't think we ever auto-unload dependant modules as we don't know if
they are still in use or not (hint, module references is not a
representation if the module is in use or not.)
So this is working as intended, right? And how it's always worked?
thanks,
greg k-h
Powered by blists - more mailing lists