Re: [PATCH] igb: don't unmap hw_addr if its NULL

From: Rustad, Mark D
Date: Thu Sep 10 2015 - 13:56:23 EST


> On Sep 9, 2015, at 9:07 PM, Jarod Wilson <jarod@xxxxxxxxxx> wrote:
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index e174fbb..a5e0022 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -2823,7 +2823,8 @@ static void igb_remove(struct pci_dev *pdev)
>
> igb_clear_interrupt_scheme(adapter);
>
> - pci_iounmap(pdev, hw->hw_addr);
> + if (hw->hw_addr)
> + pci_iounmap(pdev, hw->hw_addr);
> if (hw->flash_address)
> iounmap(hw->flash_address);
> pci_release_selected_regions(pdev,

I don't think that this is entirely the right solution. In ixgbe we have a separate pointer, io_addr, used to manage the resource, so that the space can be freed even after hw_addr is cleared. With the approach above, the pci_iounmap will not ever be called on the space. You can see how ixgbe is doing it.

--
Mark Rustad, Networking Division, Intel Corporation

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail