p54: return NETDEV_TX_OK in p54_tx and fix sparse warnings
authorChristian Lamparter <chunkeey@web.de>
Wed, 7 Jan 2009 15:40:08 +0000 (16:40 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 20:59:57 +0000 (15:59 -0500)
This patch addresses all recent comments from Johannes Berg:

1st: (reference http://marc.info/?l=linux-wireless&m=123124685019631 )
>First off: all those should return NETDEV_TX_OK/BUSY.
>iwl-agn: returns 0 (== NETDEV_TX_OK, but still should be changed)
>[...]
>p54: same (some paths)

2nd:
> due to your PS patch ("p54: power save management"), please run sparse:
> make C=2 CF=-D__CHECK_ENDIAN__ M=...
> +drivers/net/wireless/p54/p54common.c:1753:8: warning: incorrect type in assignment (different base types)
> +drivers/net/wireless/p54/p54common.c:1769:29: warning: incorrect type in assignment (different base types)
The cpu_to_le16 ended up in the wrong line... Sorry!

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/p54/p54common.c

index 6c175df..e463c7c 100644 (file)
@@ -1532,7 +1532,7 @@ static int p54_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
        queue_delayed_work(dev->workqueue, &priv->work,
                           msecs_to_jiffies(P54_TX_FRAME_LIFETIME));
 
-       return 0;
+       return NETDEV_TX_OK;
 
  err:
        skb_pull(skb, sizeof(*hdr) + sizeof(*txhdr) + padding);
@@ -1774,7 +1774,7 @@ static int p54_set_ps(struct ieee80211_hw *dev)
        int i;
 
        if (dev->conf.flags & IEEE80211_CONF_PS)
-               mode = cpu_to_le16(P54_PSM | P54_PSM_DTIM | P54_PSM_MCBC);
+               mode = P54_PSM | P54_PSM_DTIM | P54_PSM_MCBC;
        else
                mode = P54_PSM_CAM;
 
@@ -1790,7 +1790,7 @@ static int p54_set_ps(struct ieee80211_hw *dev)
        for (i = 0; i < ARRAY_SIZE(psm->intervals); i++) {
                psm->intervals[i].interval =
                        cpu_to_le16(dev->conf.listen_interval);
-               psm->intervals[i].periods = 1;
+               psm->intervals[i].periods = cpu_to_le16(1);
        }
 
        psm->beacon_rssi_skip_max = 60;