Module Name:    src
Committed By:   nonaka
Date:           Thu Mar 26 14:42:56 UTC 2015

Modified Files:
        src/sys/dev/pci: if_iwm.c

Log Message:
Not all iwm hardware supports the 5GHz band.  Make setting 11a rates
and scanning conditional on the 5GHz support bit in the nvm.

>From OpenBSD rev. 1.39. Arranged by me.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/dev/pci/if_iwm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_iwm.c
diff -u src/sys/dev/pci/if_iwm.c:1.28 src/sys/dev/pci/if_iwm.c:1.29
--- src/sys/dev/pci/if_iwm.c:1.28	Sat Mar  7 13:54:57 2015
+++ src/sys/dev/pci/if_iwm.c	Thu Mar 26 14:42:56 2015
@@ -1,5 +1,5 @@
-/*	$NetBSD: if_iwm.c,v 1.28 2015/03/07 13:54:57 nonaka Exp $	*/
-/*	OpenBSD: if_iwm.c,v 1.36 2015/03/06 18:39:24 kettenis Exp	*/
+/*	$NetBSD: if_iwm.c,v 1.29 2015/03/26 14:42:56 nonaka Exp $	*/
+/*	OpenBSD: if_iwm.c,v 1.39 2015/03/23 00:35:19 jsg Exp	*/
 
 /*
  * Copyright (c) 2014 genua mbh <i...@genua.de>
@@ -105,7 +105,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.28 2015/03/07 13:54:57 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.29 2015/03/26 14:42:56 nonaka Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -5587,7 +5587,8 @@ iwm_endscan_cb(struct work *work __unuse
 
 	DPRINTF(("scan ended\n"));
 
-	if (sc->sc_scanband == IEEE80211_CHAN_2GHZ) {
+	if (sc->sc_scanband == IEEE80211_CHAN_2GHZ &&
+	    sc->sc_nvm.sku_cap_band_52GHz_enable) {
 		int error;
 		done = 0;
 		if ((error = iwm_mvm_scan_request(sc,
@@ -6567,7 +6568,9 @@ iwm_attach_hook(device_t dev)
 	    IEEE80211_C_SHSLOT |	/* short slot time supported */
 	    IEEE80211_C_SHPREAMBLE;	/* short preamble supported */
 
-	ic->ic_sup_rates[IEEE80211_MODE_11A] = ieee80211_std_rateset_11a;
+	/* not all hardware can do 5GHz band */
+	if (sc->sc_nvm.sku_cap_band_52GHz_enable)
+		ic->ic_sup_rates[IEEE80211_MODE_11A] = ieee80211_std_rateset_11a;
 	ic->ic_sup_rates[IEEE80211_MODE_11B] = ieee80211_std_rateset_11b;
 	ic->ic_sup_rates[IEEE80211_MODE_11G] = ieee80211_std_rateset_11g;
 

Reply via email to