linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ath5k: add missing iounmap to AHB probe removal
@ 2012-04-24  8:29 Jonathan Bither
  2012-04-24  8:42 ` Florian Fainelli
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Bither @ 2012-04-24  8:29 UTC (permalink / raw)
  To: linux-wireless

When our driver device is removed on the AHB bus, our IO memory is never unmapped.

Signed-off-by: Jonathan Bither <jonbither@gmail.com>

diff --git a/drivers/net/wireless/ath/ath5k/ahb.c b/drivers/net/wireless/ath/ath5k/ahb.c
index 8c50d9d..eebf439 100644
--- a/drivers/net/wireless/ath/ath5k/ahb.c
+++ b/drivers/net/wireless/ath/ath5k/ahb.c
@@ -197,12 +197,14 @@ static int ath_ahb_remove(struct platform_device *pdev)
 	struct ar231x_board_config *bcfg = pdev->dev.platform_data;
 	struct ieee80211_hw *hw = platform_get_drvdata(pdev);
 	struct ath5k_hw *ah;
+	void __iomem *mem;
 	u32 reg;
 
 	if (!hw)
 		return 0;
 
 	ah = hw->priv;
+	mem = ah->iobase;
 
 	if (bcfg->devid >= AR5K_SREV_AR2315_R6) {
 		/* Disable WMAC AHB arbitration */
@@ -222,6 +224,7 @@ static int ath_ahb_remove(struct platform_device *pdev)
 	ath5k_deinit_ah(ah);
 	platform_set_drvdata(pdev, NULL);
 	ieee80211_free_hw(hw);
+	iounmap(mem);
 
 	return 0;
 }

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: ath5k: add missing iounmap to AHB probe removal
  2012-04-24  8:29 ath5k: add missing iounmap to AHB probe removal Jonathan Bither
@ 2012-04-24  8:42 ` Florian Fainelli
  2012-04-24  8:45   ` Jonathan Bither
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Fainelli @ 2012-04-24  8:42 UTC (permalink / raw)
  To: Jonathan Bither; +Cc: linux-wireless

Hi Jonathan,

Le 04/24/12 10:29, Jonathan Bither a écrit :
> When our driver device is removed on the AHB bus, our IO memory is never unmapped.
>
> Signed-off-by: Jonathan Bither<jonbither@gmail.com>
>
> diff --git a/drivers/net/wireless/ath/ath5k/ahb.c b/drivers/net/wireless/ath/ath5k/ahb.c
> index 8c50d9d..eebf439 100644
> --- a/drivers/net/wireless/ath/ath5k/ahb.c
> +++ b/drivers/net/wireless/ath/ath5k/ahb.c
> @@ -197,12 +197,14 @@ static int ath_ahb_remove(struct platform_device *pdev)
>   	struct ar231x_board_config *bcfg = pdev->dev.platform_data;
>   	struct ieee80211_hw *hw = platform_get_drvdata(pdev);
>   	struct ath5k_hw *ah;
> +	void __iomem *mem;
>   	u32 reg;
>
>   	if (!hw)
>   		return 0;
>
>   	ah = hw->priv;
> +	mem = ah->iobase;
>
>   	if (bcfg->devid>= AR5K_SREV_AR2315_R6) {
>   		/* Disable WMAC AHB arbitration */
> @@ -222,6 +224,7 @@ static int ath_ahb_remove(struct platform_device *pdev)
>   	ath5k_deinit_ah(ah);
>   	platform_set_drvdata(pdev, NULL);
>   	ieee80211_free_hw(hw);
> +	iounmap(mem);

You don't need this temporary variable, just use iounmap(ah->iobase) 
after ath5k_deinit_ah(ah) just like how it is done in the PCI case.
--
Florian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ath5k: add missing iounmap to AHB probe removal
  2012-04-24  8:42 ` Florian Fainelli
@ 2012-04-24  8:45   ` Jonathan Bither
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Bither @ 2012-04-24  8:45 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: linux-wireless

Alright, thanks for the reviewal. I'll submit a V2

On 04/24/2012 04:42 AM, Florian Fainelli wrote:
> Hi Jonathan,
> 
> Le 04/24/12 10:29, Jonathan Bither a écrit :
>> When our driver device is removed on the AHB bus, our IO memory is never unmapped.
>>
>> Signed-off-by: Jonathan Bither<jonbither@gmail.com>
>>
>> diff --git a/drivers/net/wireless/ath/ath5k/ahb.c b/drivers/net/wireless/ath/ath5k/ahb.c
>> index 8c50d9d..eebf439 100644
>> --- a/drivers/net/wireless/ath/ath5k/ahb.c
>> +++ b/drivers/net/wireless/ath/ath5k/ahb.c
>> @@ -197,12 +197,14 @@ static int ath_ahb_remove(struct platform_device *pdev)
>>       struct ar231x_board_config *bcfg = pdev->dev.platform_data;
>>       struct ieee80211_hw *hw = platform_get_drvdata(pdev);
>>       struct ath5k_hw *ah;
>> +    void __iomem *mem;
>>       u32 reg;
>>
>>       if (!hw)
>>           return 0;
>>
>>       ah = hw->priv;
>> +    mem = ah->iobase;
>>
>>       if (bcfg->devid>= AR5K_SREV_AR2315_R6) {
>>           /* Disable WMAC AHB arbitration */
>> @@ -222,6 +224,7 @@ static int ath_ahb_remove(struct platform_device *pdev)
>>       ath5k_deinit_ah(ah);
>>       platform_set_drvdata(pdev, NULL);
>>       ieee80211_free_hw(hw);
>> +    iounmap(mem);
> 
> You don't need this temporary variable, just use iounmap(ah->iobase) after ath5k_deinit_ah(ah) just like how it is done in the PCI case.
> -- 
> Florian

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-04-24  8:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-24  8:29 ath5k: add missing iounmap to AHB probe removal Jonathan Bither
2012-04-24  8:42 ` Florian Fainelli
2012-04-24  8:45   ` Jonathan Bither

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).