Skip to content

Commit ca245a6

Browse files
Malcolm Priestleygregkh
authored andcommitted
rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter
commit fc81bab5eeb103711925d7510157cf5cd2b153f4 upstream. _rtl_pci_find_adapter fail path will jump to label fail3 for unsupported adapter types. However, on course for fail3 there will be call rtl_deinit_core before rtl_init_core. For the inclusion of checking pci_iounmap this fail can be moved to fail2. Fixes [ 4.492963] BUG: unable to handle kernel NULL pointer dereference at (null) [ 4.493067] IP: rtl_deinit_core+0x31/0x90 [rtlwifi] Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent c5b8e1d commit ca245a6

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

  • drivers/net/wireless/realtek/rtlwifi

drivers/net/wireless/realtek/rtlwifi/pci.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2269,7 +2269,7 @@ int rtl_pci_probe(struct pci_dev *pdev,
22692269
/* find adapter */
22702270
if (!_rtl_pci_find_adapter(pdev, hw)) {
22712271
err = -ENODEV;
2272-
goto fail3;
2272+
goto fail2;
22732273
}
22742274

22752275
/* Init IO handler */
@@ -2339,10 +2339,10 @@ int rtl_pci_probe(struct pci_dev *pdev,
23392339
pci_set_drvdata(pdev, NULL);
23402340
rtl_deinit_core(hw);
23412341

2342+
fail2:
23422343
if (rtlpriv->io.pci_mem_start != 0)
23432344
pci_iounmap(pdev, (void __iomem *)rtlpriv->io.pci_mem_start);
23442345

2345-
fail2:
23462346
pci_release_regions(pdev);
23472347
complete(&rtlpriv->firmware_loading_complete);
23482348

0 commit comments

Comments
 (0)