summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/carl9170
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/carl9170')
-rw-r--r--drivers/net/wireless/ath/carl9170/main.c4
-rw-r--r--drivers/net/wireless/ath/carl9170/tx.c5
-rw-r--r--drivers/net/wireless/ath/carl9170/usb.c32
3 files changed, 6 insertions, 35 deletions
diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
index 524327d249..7e7797bf44 100644
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -1712,6 +1712,10 @@ static bool carl9170_tx_frames_pending(struct ieee80211_hw *hw)
}
static const struct ieee80211_ops carl9170_ops = {
+ .add_chanctx = ieee80211_emulate_add_chanctx,
+ .remove_chanctx = ieee80211_emulate_remove_chanctx,
+ .change_chanctx = ieee80211_emulate_change_chanctx,
+ .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.start = carl9170_op_start,
.stop = carl9170_op_stop,
.tx = carl9170_op_tx,
diff --git a/drivers/net/wireless/ath/carl9170/tx.c b/drivers/net/wireless/ath/carl9170/tx.c
index 88ef6e023f..e902ca80eb 100644
--- a/drivers/net/wireless/ath/carl9170/tx.c
+++ b/drivers/net/wireless/ath/carl9170/tx.c
@@ -189,7 +189,7 @@ static void carl9170_tx_accounting_free(struct ar9170 *ar, struct sk_buff *skb)
static int carl9170_alloc_dev_space(struct ar9170 *ar, struct sk_buff *skb)
{
- struct _carl9170_tx_superframe *super = (void *) skb->data;
+ struct _carl9170_tx_superframe *super;
unsigned int chunks;
int cookie = -1;
@@ -280,8 +280,7 @@ static void carl9170_tx_release(struct kref *ref)
* carl9170_tx_fill_rateinfo() has filled the rate information
* before we get to this point.
*/
- memset(&txinfo->pad, 0, sizeof(txinfo->pad));
- memset(&txinfo->rate_driver_data, 0, sizeof(txinfo->rate_driver_data));
+ memset_after(&txinfo->status, 0, rates);
if (atomic_read(&ar->tx_total_queued))
ar->tx_schedule = true;
diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c
index a3e03580cd..c4edf83559 100644
--- a/drivers/net/wireless/ath/carl9170/usb.c
+++ b/drivers/net/wireless/ath/carl9170/usb.c
@@ -1069,38 +1069,6 @@ static int carl9170_usb_probe(struct usb_interface *intf,
ar->usb_ep_cmd_is_bulk = true;
}
- /* Verify that all expected endpoints are present */
- if (ar->usb_ep_cmd_is_bulk) {
- u8 bulk_ep_addr[] = {
- AR9170_USB_EP_RX | USB_DIR_IN,
- AR9170_USB_EP_TX | USB_DIR_OUT,
- AR9170_USB_EP_CMD | USB_DIR_OUT,
- 0};
- u8 int_ep_addr[] = {
- AR9170_USB_EP_IRQ | USB_DIR_IN,
- 0};
- if (!usb_check_bulk_endpoints(intf, bulk_ep_addr) ||
- !usb_check_int_endpoints(intf, int_ep_addr))
- err = -ENODEV;
- } else {
- u8 bulk_ep_addr[] = {
- AR9170_USB_EP_RX | USB_DIR_IN,
- AR9170_USB_EP_TX | USB_DIR_OUT,
- 0};
- u8 int_ep_addr[] = {
- AR9170_USB_EP_IRQ | USB_DIR_IN,
- AR9170_USB_EP_CMD | USB_DIR_OUT,
- 0};
- if (!usb_check_bulk_endpoints(intf, bulk_ep_addr) ||
- !usb_check_int_endpoints(intf, int_ep_addr))
- err = -ENODEV;
- }
-
- if (err) {
- carl9170_free(ar);
- return err;
- }
-
usb_set_intfdata(intf, ar);
SET_IEEE80211_DEV(ar->hw, &intf->dev);