diff -up ./drivers/net/wireless/zd1211rw/Kconfig.zd1211 ./drivers/net/wireless/zd1211rw/Kconfig
--- ./drivers/net/wireless/zd1211rw/Kconfig.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/Kconfig 2017-02-05 18:56:17.000000000 +0900
@@ -3,11 +3,11 @@ config ZD1211RW
depends on USB && MAC80211
select FW_LOADER
---help---
- This is an experimental driver for the ZyDAS ZD1211/ZD1211B wireless
+ This is a driver for the ZyDAS ZD1211/ZD1211B wireless
chip, present in many USB-wireless adapters.
Device firmware is required alongside this driver. You can download
- the firmware distribution from http://zd1211.ath.cx/get-firmware
+ the firmware distribution from http://sf.net/projects/zd1211/files/
config ZD1211RW_DEBUG
bool "ZyDAS ZD1211 debugging"
diff -up ./drivers/net/wireless/zd1211rw/zd_chip.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_chip.c
--- ./drivers/net/wireless/zd1211rw/zd_chip.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_chip.c 2017-02-05 18:57:51.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
/* This file implements all the hardware specific functions for the ZD1211
@@ -130,7 +129,7 @@ int zd_ioread32v_locked(struct zd_chip *
r = zd_ioread16v_locked(chip, v16, a16, count16);
if (r) {
dev_dbg_f(zd_chip_dev(chip),
- "error: zd_ioread16v_locked. Error number %d\n", r);
+ "error: %s. Error number %d\n", __func__, r);
return r;
}
@@ -257,8 +256,8 @@ int zd_iowrite32a_locked(struct zd_chip
if (r) {
zd_usb_iowrite16v_async_end(&chip->usb, 0);
dev_dbg_f(zd_chip_dev(chip),
- "error _zd_iowrite32v_locked."
- " Error number %d\n", r);
+ "error _%s. Error number %d\n", __func__,
+ r);
return r;
}
}
diff -up ./drivers/net/wireless/zd1211rw/zd_chip.h.zd1211 ./drivers/net/wireless/zd1211rw/zd_chip.h
--- ./drivers/net/wireless/zd1211rw/zd_chip.h.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_chip.h 2017-02-05 18:58:35.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#ifndef _ZD_CHIP_H
diff -up ./drivers/net/wireless/zd1211rw/zd_def.h.zd1211 ./drivers/net/wireless/zd1211rw/zd_def.h
--- ./drivers/net/wireless/zd1211rw/zd_def.h.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_def.h 2017-02-05 19:13:04.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#ifndef _ZD_DEF_H
diff -up ./drivers/net/wireless/zd1211rw/zd_mac.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_mac.c
--- ./drivers/net/wireless/zd1211rw/zd_mac.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_mac.c 2017-02-05 19:16:18.000000000 +0900
@@ -16,8 +16,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
@@ -533,9 +532,8 @@ void zd_mac_tx_failed(struct urb *urb)
tx_hdr = (struct ieee80211_hdr *)skb->data;
/* we skip all frames not matching the reported destination */
- if (unlikely(memcmp(tx_hdr->addr1, tx_status->mac, ETH_ALEN))) {
+ if (unlikely(!ether_addr_equal(tx_hdr->addr1, tx_status->mac)))
continue;
- }
/* we skip all frames not matching the reported final rate */
@@ -998,7 +996,7 @@ static int filter_ack(struct ieee80211_h
continue;
tx_hdr = (struct ieee80211_hdr *)skb->data;
- if (likely(!memcmp(tx_hdr->addr2, rx_hdr->addr1, ETH_ALEN)))
+ if (likely(ether_addr_equal(tx_hdr->addr2, rx_hdr->addr1)))
{
found = 1;
break;
@@ -1070,7 +1068,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, c
}
stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq;
- stats.band = IEEE80211_BAND_2GHZ;
+ stats.band = NL80211_BAND_2GHZ;
stats.signal = zd_check_signal(hw, status->signal_strength);
rate = zd_rx_rate(buffer, status);
@@ -1232,7 +1230,7 @@ static u64 zd_op_prepare_multicast(struc
}
#define SUPPORTED_FIF_FLAGS \
- (FIF_PROMISC_IN_BSS | FIF_ALLMULTI | FIF_FCSFAIL | FIF_CONTROL | \
+ (FIF_ALLMULTI | FIF_FCSFAIL | FIF_CONTROL | \
FIF_OTHER_BSS | FIF_BCN_PRBRESP_PROMISC)
static void zd_op_configure_filter(struct ieee80211_hw *hw,
unsigned int changed_flags,
@@ -1258,7 +1256,7 @@ static void zd_op_configure_filter(struc
* we will have some issue with IPv6 which uses multicast for link
* layer address resolution.
*/
- if (*new_flags & (FIF_PROMISC_IN_BSS | FIF_ALLMULTI))
+ if (*new_flags & FIF_ALLMULTI)
zd_mc_add_all(&hash);
spin_lock_irqsave(&mac->lock, flags);
@@ -1397,12 +1395,12 @@ struct ieee80211_hw *zd_mac_alloc_hw(str
mac->band.n_channels = ARRAY_SIZE(zd_channels);
mac->band.channels = mac->channels;
- hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &mac->band;
+ hw->wiphy->bands[NL80211_BAND_2GHZ] = &mac->band;
- hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
- IEEE80211_HW_SIGNAL_UNSPEC |
- IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
- IEEE80211_HW_MFP_CAPABLE;
+ ieee80211_hw_set(hw, MFP_CAPABLE);
+ ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
+ ieee80211_hw_set(hw, RX_INCLUDES_FCS);
+ ieee80211_hw_set(hw, SIGNAL_UNSPEC);
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_MESH_POINT) |
diff -up ./drivers/net/wireless/zd1211rw/zd_mac.h.zd1211 ./drivers/net/wireless/zd1211rw/zd_mac.h
--- ./drivers/net/wireless/zd1211rw/zd_mac.h.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_mac.h 2017-02-05 19:03:17.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#ifndef _ZD_MAC_H
diff -up ./drivers/net/wireless/zd1211rw/zd_rf_al2230.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf_al2230.c
--- ./drivers/net/wireless/zd1211rw/zd_rf_al2230.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf_al2230.c 2017-02-05 19:04:21.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
diff -up ./drivers/net/wireless/zd1211rw/zd_rf_al7230b.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf_al7230b.c
--- ./drivers/net/wireless/zd1211rw/zd_rf_al7230b.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf_al7230b.c 2017-02-05 19:05:44.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
diff -up ./drivers/net/wireless/zd1211rw/zd_rf.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf.c
--- ./drivers/net/wireless/zd1211rw/zd_rf.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf.c 2017-02-05 19:06:13.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
diff -up ./drivers/net/wireless/zd1211rw/zd_rf.h.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf.h
--- ./drivers/net/wireless/zd1211rw/zd_rf.h.zd1211 2017-02-05 19:06:37.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf.h 2017-02-05 19:06:58.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#ifndef _ZD_RF_H
diff -up ./drivers/net/wireless/zd1211rw/zd_rf_rf2959.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf_rf2959.c
--- ./drivers/net/wireless/zd1211rw/zd_rf_rf2959.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf_rf2959.c 2017-02-05 19:07:23.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
diff -up ./drivers/net/wireless/zd1211rw/zd_rf_uw2453.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
--- ./drivers/net/wireless/zd1211rw/zd_rf_uw2453.c.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_rf_uw2453.c 2017-02-05 19:07:47.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
diff -up ./drivers/net/wireless/zd1211rw/zd_usb.c.zd1211 ./drivers/net/wireless/zd1211rw/zd_usb.c
--- ./drivers/net/wireless/zd1211rw/zd_usb.c.zd1211 2017-02-05 16:08:11.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_usb.c 2017-02-05 19:08:40.000000000 +0900
@@ -15,8 +15,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#include
@@ -1620,7 +1619,7 @@ static void prepare_read_regs_int(struct
atomic_set(&intr->read_regs_enabled, 1);
intr->read_regs.req = req;
intr->read_regs.req_count = count;
- INIT_COMPLETION(intr->read_regs.completion);
+ reinit_completion(&intr->read_regs.completion);
spin_unlock_irq(&intr->lock);
}
diff -up ./drivers/net/wireless/zd1211rw/zd_usb.h.zd1211 ./drivers/net/wireless/zd1211rw/zd_usb.h
--- ./drivers/net/wireless/zd1211rw/zd_usb.h.zd1211 2016-12-11 00:27:13.000000000 +0900
+++ ./drivers/net/wireless/zd1211rw/zd_usb.h 2017-02-05 19:09:10.000000000 +0900
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see .
*/
#ifndef _ZD_USB_H