Messages in this thread | | | Date | Wed, 5 Apr 2023 23:19:25 +0200 | Subject | Re: [BUG] staging: rtl8192e: oops occurs when finding hardware rtl8192se | From | Philipp Hortmann <> |
| |
On 4/5/23 16:37, Greg Kroah-Hartman wrote: > On Sun, Apr 02, 2023 at 05:00:13PM +0200, Philipp Hortmann wrote: >> Hi, >> >> when I use the hardware rtl8192se the driver >> drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko detects that it should not >> run on this hardware and aborts. >> But when the driver is freeing the resources an oops occures. Find oops at >> the end of this Email. >> >> When I comment out the following lines those errors disappear: >> cancel_delayed_work_sync(&ieee->hw_wakeup_wq); >> cancel_delayed_work_sync(&ieee->hw_sleep_wq); >> cancel_work_sync(&ieee->ips_leave_wq); >> >> When I do an init before the cancel: >> INIT_DELAYED_WORK(&priv->rtllib->hw_wakeup_wq, (void *)rtl92e_hw_wakeup_wq); >> The oops are gone as well. >> >> When I use cancel_delayed_work() instead of cancel_delayed_work_sync() it >> also works. >> >> Can somebody give me a hint what the expected way is to solve this? > > Is this a new thing, or has it always been there? I would need to check in several places. It seems to me that it was an issue in kernel 4.0 already.
> > Why is the driver loading if you don't have hardware for it? Or are you > manually loading it? Reason why they two drivers are loaded is that realtek managed to have two different devices with the same vid and did.
from rtl8192se/sw.c: static const struct pci_device_id rtl92se_pci_ids[] = { {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8192, rtl92se_hal_cfg)}, ...
from rtl8192e/rtl8192e/rtl_core.c static struct pci_device_id rtl8192_pci_id_tbl[] = { {RTL_PCI_DEVICE(0x10ec, 0x8192, rtl819xp_ops)},
#define PCI_VENDOR_ID_REALTEK 0x10ec
The drivers are loaded both and find out with the pci revision_id if they are in charge.
> > thanks, > > greg k-h
May be I should mention that I do have an rtl8192se. But it does use a different device id.
I am simulating the driver that it is rtl8192se hardware by changing the revision_id.
Thanks for your response.
Bye Philipp
| |