• Avinash Patil's avatar
    mwifiex: fix system freeze while reloading driver · 48f4d916
    Avinash Patil authored
    Unload sequence for mwifiex PCIE driver is as follows:
    1. Invoking cleanup module from kernel results into
       pci_unregister_driver
    2. Kernel invokes PCIE remove() handler which disconnects all
       interfaces.
    3. One step during disconnect is to clean PCIE TX rings.
       During this we read txbd_rdptr from FW.
    
    While loading driver next time, we see pci_enable_device()
    results into system freeze. This may have happened because we
    accessed PCI device after unregistering from bus driver.
    Removing this ioread() operation resolves this bug.
    Signed-off-by: default avatarAvinash Patil <patila@marvell.com>
    Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    48f4d916
pcie.c 63.7 KB