]> git.itanic.dy.fi Git - linux-stable/commitdiff
carl9170: devres ar->survey_info
authorChristian Lamparter <chunkeey@gmail.com>
Wed, 2 Mar 2022 19:51:38 +0000 (20:51 +0100)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 10 Mar 2022 15:54:41 +0000 (17:54 +0200)
driver keeps the same survey_info struct for its lifetime around.
This is used because while firmware does help by providing accounting
information of the current channel, it doesn't keep track on the
remaining channels.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/9b9a059b384f49587f4384ba47f01d3fb2115b22.1646250537.git.chunkeey@gmail.com
drivers/net/wireless/ath/carl9170/main.c

index fae927ca48634ea4fdee6068b261caa0d202dc37..76e84adf57c176831e9dacdbc306fce2f39aaf99 100644 (file)
@@ -1916,7 +1916,8 @@ static int carl9170_parse_eeprom(struct ar9170 *ar)
        if (!bands)
                return -EINVAL;
 
-       ar->survey = kcalloc(chans, sizeof(struct survey_info), GFP_KERNEL);
+       ar->survey = devm_kcalloc(&ar->udev->dev, chans,
+                                 sizeof(struct survey_info), GFP_KERNEL);
        if (!ar->survey)
                return -ENOMEM;
        ar->num_channels = chans;
@@ -2046,9 +2047,6 @@ void carl9170_free(struct ar9170 *ar)
        kfree_skb(ar->rx_failover);
        ar->rx_failover = NULL;
 
-       kfree(ar->survey);
-       ar->survey = NULL;
-
        mutex_destroy(&ar->mutex);
 
        ieee80211_free_hw(ar->hw);