diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 19:29:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 19:29:25 -0400 |
commit | 7a6362800cb7d1d618a697a650c7aaed3eb39320 (patch) | |
tree | 087f9bc6c13ef1fad4b392c5cf9325cd28fa8523 /drivers/staging | |
parent | 6445ced8670f37cfc2c5e24a9de9b413dbfc788d (diff) | |
parent | ceda86a108671294052cbf51660097b6534672f5 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)
bonding: enable netpoll without checking link status
xfrm: Refcount destination entry on xfrm_lookup
net: introduce rx_handler results and logic around that
bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag
bonding: wrap slave state work
net: get rid of multiple bond-related netdevice->priv_flags
bonding: register slave pointer for rx_handler
be2net: Bump up the version number
be2net: Copyright notice change. Update to Emulex instead of ServerEngines
e1000e: fix kconfig for crc32 dependency
netfilter ebtables: fix xt_AUDIT to work with ebtables
xen network backend driver
bonding: Improve syslog message at device creation time
bonding: Call netif_carrier_off after register_netdevice
bonding: Incorrect TX queue offset
net_sched: fix ip_tos2prio
xfrm: fix __xfrm_route_forward()
be2net: Fix UDP packet detected status in RX compl
Phonet: fix aligned-mode pipe socket buffer header reserve
netxen: support for GbE port settings
...
Fix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
with the staging updates.
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c | 4 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/wl_mac80211.c | 31 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/wlc_main.c | 5 | ||||
-rw-r--r-- | drivers/staging/pohmelfs/config.c | 2 | ||||
-rw-r--r-- | drivers/staging/winbond/wbusb.c | 7 |
5 files changed, 14 insertions, 35 deletions
diff --git a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c index 9e74beb0b64b..555b056b49b1 100644 --- a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c +++ b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c | |||
@@ -2308,7 +2308,9 @@ static s32 wl_inform_single_bss(struct wl_priv *wl, struct wl_bss_info *bi) | |||
2308 | notif_bss_info->frame_len = | 2308 | notif_bss_info->frame_len = |
2309 | offsetof(struct ieee80211_mgmt, | 2309 | offsetof(struct ieee80211_mgmt, |
2310 | u.beacon.variable) + wl_get_ielen(wl); | 2310 | u.beacon.variable) + wl_get_ielen(wl); |
2311 | freq = ieee80211_channel_to_frequency(notif_bss_info->channel); | 2311 | freq = ieee80211_channel_to_frequency(notif_bss_info->channel, |
2312 | band->band); | ||
2313 | |||
2312 | channel = ieee80211_get_channel(wiphy, freq); | 2314 | channel = ieee80211_get_channel(wiphy, freq); |
2313 | 2315 | ||
2314 | WL_DBG("SSID : \"%s\", rssi %d, channel %d, capability : 0x04%x, bssid %pM\n", | 2316 | WL_DBG("SSID : \"%s\", rssi %d, channel %d, capability : 0x04%x, bssid %pM\n", |
diff --git a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c index 66708d8df7f6..774b4e916b29 100644 --- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c | |||
@@ -74,9 +74,6 @@ static int wl_request_fw(struct wl_info *wl, struct pci_dev *pdev); | |||
74 | static void wl_release_fw(struct wl_info *wl); | 74 | static void wl_release_fw(struct wl_info *wl); |
75 | 75 | ||
76 | /* local prototypes */ | 76 | /* local prototypes */ |
77 | static int wl_start(struct sk_buff *skb, struct wl_info *wl); | ||
78 | static int wl_start_int(struct wl_info *wl, struct ieee80211_hw *hw, | ||
79 | struct sk_buff *skb); | ||
80 | static void wl_dpc(unsigned long data); | 77 | static void wl_dpc(unsigned long data); |
81 | static irqreturn_t wl_isr(int irq, void *dev_id); | 78 | static irqreturn_t wl_isr(int irq, void *dev_id); |
82 | 79 | ||
@@ -111,7 +108,6 @@ module_param(phymsglevel, int, 0); | |||
111 | #define WL_TO_HW(wl) (wl->pub->ieee_hw) | 108 | #define WL_TO_HW(wl) (wl->pub->ieee_hw) |
112 | 109 | ||
113 | /* MAC80211 callback functions */ | 110 | /* MAC80211 callback functions */ |
114 | static int wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb); | ||
115 | static int wl_ops_start(struct ieee80211_hw *hw); | 111 | static int wl_ops_start(struct ieee80211_hw *hw); |
116 | static void wl_ops_stop(struct ieee80211_hw *hw); | 112 | static void wl_ops_stop(struct ieee80211_hw *hw); |
117 | static int wl_ops_add_interface(struct ieee80211_hw *hw, | 113 | static int wl_ops_add_interface(struct ieee80211_hw *hw, |
@@ -152,21 +148,19 @@ static int wl_ops_ampdu_action(struct ieee80211_hw *hw, | |||
152 | u8 buf_size); | 148 | u8 buf_size); |
153 | static void wl_ops_rfkill_poll(struct ieee80211_hw *hw); | 149 | static void wl_ops_rfkill_poll(struct ieee80211_hw *hw); |
154 | 150 | ||
155 | static int wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | 151 | static void wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) |
156 | { | 152 | { |
157 | int status; | ||
158 | struct wl_info *wl = hw->priv; | 153 | struct wl_info *wl = hw->priv; |
159 | 154 | ||
160 | WL_LOCK(wl); | 155 | WL_LOCK(wl); |
161 | if (!wl->pub->up) { | 156 | if (!wl->pub->up) { |
162 | WL_ERROR("ops->tx called while down\n"); | 157 | WL_ERROR("ops->tx called while down\n"); |
163 | status = -ENETDOWN; | 158 | kfree_skb(skb); |
164 | goto done; | 159 | goto done; |
165 | } | 160 | } |
166 | status = wl_start(skb, wl); | 161 | wlc_sendpkt_mac80211(wl->wlc, skb, hw); |
167 | done: | 162 | done: |
168 | WL_UNLOCK(wl); | 163 | WL_UNLOCK(wl); |
169 | return status; | ||
170 | } | 164 | } |
171 | 165 | ||
172 | static int wl_ops_start(struct ieee80211_hw *hw) | 166 | static int wl_ops_start(struct ieee80211_hw *hw) |
@@ -1396,25 +1390,6 @@ static void wl_free(struct wl_info *wl) | |||
1396 | } | 1390 | } |
1397 | 1391 | ||
1398 | /* | 1392 | /* |
1399 | * transmit a packet | ||
1400 | * precondition: perimeter lock has been acquired | ||
1401 | */ | ||
1402 | static int BCMFASTPATH wl_start(struct sk_buff *skb, struct wl_info *wl) | ||
1403 | { | ||
1404 | if (!wl) | ||
1405 | return -ENETDOWN; | ||
1406 | |||
1407 | return wl_start_int(wl, WL_TO_HW(wl), skb); | ||
1408 | } | ||
1409 | |||
1410 | static int BCMFASTPATH | ||
1411 | wl_start_int(struct wl_info *wl, struct ieee80211_hw *hw, struct sk_buff *skb) | ||
1412 | { | ||
1413 | wlc_sendpkt_mac80211(wl->wlc, skb, hw); | ||
1414 | return NETDEV_TX_OK; | ||
1415 | } | ||
1416 | |||
1417 | /* | ||
1418 | * precondition: perimeter lock has been acquired | 1393 | * precondition: perimeter lock has been acquired |
1419 | */ | 1394 | */ |
1420 | void wl_txflowcontrol(struct wl_info *wl, struct wl_if *wlif, bool state, | 1395 | void wl_txflowcontrol(struct wl_info *wl, struct wl_if *wlif, bool state, |
diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_main.c b/drivers/staging/brcm80211/brcmsmac/wlc_main.c index 0870dc913cda..639b5d7c9603 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_main.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_main.c | |||
@@ -6838,11 +6838,14 @@ prep_mac80211_status(struct wlc_info *wlc, d11rxhdr_t *rxh, struct sk_buff *p, | |||
6838 | ratespec_t rspec; | 6838 | ratespec_t rspec; |
6839 | unsigned char *plcp; | 6839 | unsigned char *plcp; |
6840 | 6840 | ||
6841 | #if 0 | ||
6842 | /* Clearly, this is bogus -- reading the TSF now is wrong */ | ||
6841 | wlc_read_tsf(wlc, &tsf_l, &tsf_h); /* mactime */ | 6843 | wlc_read_tsf(wlc, &tsf_l, &tsf_h); /* mactime */ |
6842 | rx_status->mactime = tsf_h; | 6844 | rx_status->mactime = tsf_h; |
6843 | rx_status->mactime <<= 32; | 6845 | rx_status->mactime <<= 32; |
6844 | rx_status->mactime |= tsf_l; | 6846 | rx_status->mactime |= tsf_l; |
6845 | rx_status->flag |= RX_FLAG_TSFT; | 6847 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; /* clearly wrong */ |
6848 | #endif | ||
6846 | 6849 | ||
6847 | channel = WLC_CHAN_CHANNEL(rxh->RxChan); | 6850 | channel = WLC_CHAN_CHANNEL(rxh->RxChan); |
6848 | 6851 | ||
diff --git a/drivers/staging/pohmelfs/config.c b/drivers/staging/pohmelfs/config.c index a9a3e25a7efa..b6c42cb0d1c6 100644 --- a/drivers/staging/pohmelfs/config.c +++ b/drivers/staging/pohmelfs/config.c | |||
@@ -525,7 +525,7 @@ static void pohmelfs_cn_callback(struct cn_msg *msg, struct netlink_skb_parms *n | |||
525 | { | 525 | { |
526 | int err; | 526 | int err; |
527 | 527 | ||
528 | if (!cap_raised(nsp->eff_cap, CAP_SYS_ADMIN)) | 528 | if (!cap_raised(current_cap(), CAP_SYS_ADMIN)) |
529 | return; | 529 | return; |
530 | 530 | ||
531 | switch (msg->flags) { | 531 | switch (msg->flags) { |
diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c index 2163d60c2eaf..3724e1e67ec2 100644 --- a/drivers/staging/winbond/wbusb.c +++ b/drivers/staging/winbond/wbusb.c | |||
@@ -118,13 +118,14 @@ static void wbsoft_configure_filter(struct ieee80211_hw *dev, | |||
118 | *total_flags = new_flags; | 118 | *total_flags = new_flags; |
119 | } | 119 | } |
120 | 120 | ||
121 | static int wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb) | 121 | static void wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb) |
122 | { | 122 | { |
123 | struct wbsoft_priv *priv = dev->priv; | 123 | struct wbsoft_priv *priv = dev->priv; |
124 | 124 | ||
125 | if (priv->sMlmeFrame.IsInUsed != PACKET_FREE_TO_USE) { | 125 | if (priv->sMlmeFrame.IsInUsed != PACKET_FREE_TO_USE) { |
126 | priv->sMlmeFrame.wNumTxMMPDUDiscarded++; | 126 | priv->sMlmeFrame.wNumTxMMPDUDiscarded++; |
127 | return NETDEV_TX_BUSY; | 127 | kfree_skb(skb); |
128 | return; | ||
128 | } | 129 | } |
129 | 130 | ||
130 | priv->sMlmeFrame.IsInUsed = PACKET_COME_FROM_MLME; | 131 | priv->sMlmeFrame.IsInUsed = PACKET_COME_FROM_MLME; |
@@ -140,8 +141,6 @@ static int wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb) | |||
140 | */ | 141 | */ |
141 | 142 | ||
142 | Mds_Tx(priv); | 143 | Mds_Tx(priv); |
143 | |||
144 | return NETDEV_TX_OK; | ||
145 | } | 144 | } |
146 | 145 | ||
147 | static int wbsoft_start(struct ieee80211_hw *dev) | 146 | static int wbsoft_start(struct ieee80211_hw *dev) |