Wed Apr 17 16:23:08 2024 UTC (22d)
Pull up following revision(s) (requested by riastradh in ticket #653):

	sys/dev/pci/if_iwn.c: revision 1.100

if_iwn.c: pick up proper firmware for Centrino Wireless-N 130

Both variants should use iwlwifi-6000g2b-6 not iwlwifi-6000g2a-6. (It
seems only two specific product variants use iwlwifi-6000g2a-6. We
could simplify by reversing the sense of the test, as OpenBSD does, but
it doesn't seem to matter much, as what we now match seems to be the
full gamut possible, so the simpler diff was chosen here.)

Addresses PR kern/58105 from wandrien.dev%gmail.com@localhost, with the
PCI_PRODUCT_INTEL_WIFI_LINK_130_1 match tested by the reporter. Code
inspection of the FreeBSD driver indicates we should safely be able to
match PCI_PRODUCT_INTEL_WIFI_LINK_130_2 also.


(martin)
diff -r1.99 -r1.99.4.1 src/sys/dev/pci/if_iwn.c

cvs diff -r1.99 -r1.99.4.1 src/sys/dev/pci/if_iwn.c (expand / switch to unified diff)

--- src/sys/dev/pci/if_iwn.c 2022/04/25 02:29:14 1.99
+++ src/sys/dev/pci/if_iwn.c 2024/04/17 16:23:08 1.99.4.1
@@ -1,38 +1,38 @@ @@ -1,38 +1,38 @@
1/* $NetBSD: if_iwn.c,v 1.99 2022/04/25 02:29:14 gutteridge Exp $ */ 1/* $NetBSD: if_iwn.c,v 1.99.4.1 2024/04/17 16:23:08 martin Exp $ */
2/* $OpenBSD: if_iwn.c,v 1.135 2014/09/10 07:22:09 dcoppa Exp $ */ 2/* $OpenBSD: if_iwn.c,v 1.135 2014/09/10 07:22:09 dcoppa Exp $ */
3 3
4/*- 4/*-
5 * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr> 5 * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
6 * 6 *
7 * Permission to use, copy, modify, and distribute this software for any 7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above 8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies. 9 * copyright notice and this permission notice appear in all copies.
10 * 10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 */ 18 */
19 19
20/* 20/*
21 * Driver for Intel WiFi Link 4965 and 1000/5000/6000 Series 802.11 network 21 * Driver for Intel WiFi Link 4965 and 1000/5000/6000 Series 802.11 network
22 * adapters. 22 * adapters.
23 */ 23 */
24#include <sys/cdefs.h> 24#include <sys/cdefs.h>
25__KERNEL_RCSID(0, "$NetBSD: if_iwn.c,v 1.99 2022/04/25 02:29:14 gutteridge Exp $"); 25__KERNEL_RCSID(0, "$NetBSD: if_iwn.c,v 1.99.4.1 2024/04/17 16:23:08 martin Exp $");
26 26
27#define IWN_USE_RBUF /* Use local storage for RX */ 27#define IWN_USE_RBUF /* Use local storage for RX */
28#undef IWN_HWCRYPTO /* XXX does not even compile yet */ 28#undef IWN_HWCRYPTO /* XXX does not even compile yet */
29 29
30#include <sys/param.h> 30#include <sys/param.h>
31#include <sys/sockio.h> 31#include <sys/sockio.h>
32#include <sys/proc.h> 32#include <sys/proc.h>
33#include <sys/mbuf.h> 33#include <sys/mbuf.h>
34#include <sys/kernel.h> 34#include <sys/kernel.h>
35#include <sys/socket.h> 35#include <sys/socket.h>
36#include <sys/systm.h> 36#include <sys/systm.h>
37#include <sys/malloc.h> 37#include <sys/malloc.h>
38#ifdef notyetMODULE 38#ifdef notyetMODULE
@@ -836,26 +836,28 @@ iwn5000_attach(struct iwn_softc *sc, pci @@ -836,26 +836,28 @@ iwn5000_attach(struct iwn_softc *sc, pci
836 sc->txchainmask = IWN_ANT_BC; 836 sc->txchainmask = IWN_ANT_BC;
837 sc->rxchainmask = IWN_ANT_BC; 837 sc->rxchainmask = IWN_ANT_BC;
838 } 838 }
839 break; 839 break;
840 case IWN_HW_REV_TYPE_6050: 840 case IWN_HW_REV_TYPE_6050:
841 sc->limits = &iwn6000_sensitivity_limits; 841 sc->limits = &iwn6000_sensitivity_limits;
842 sc->fwname = "iwlwifi-6050-5.ucode"; 842 sc->fwname = "iwlwifi-6050-5.ucode";
843 break; 843 break;
844 case IWN_HW_REV_TYPE_6005: 844 case IWN_HW_REV_TYPE_6005:
845 sc->limits = &iwn6000_sensitivity_limits; 845 sc->limits = &iwn6000_sensitivity_limits;
846 /* Type 6030 cards return IWN_HW_REV_TYPE_6005 */ 846 /* Type 6030 cards return IWN_HW_REV_TYPE_6005 */
847 if (pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_1 || 847 if (pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_1 ||
848 pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_2 || 848 pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_2 ||
 849 pid == PCI_PRODUCT_INTEL_WIFI_LINK_130_1 ||
 850 pid == PCI_PRODUCT_INTEL_WIFI_LINK_130_2 ||
849 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_1 || 851 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_1 ||
850 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_2 || 852 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_2 ||
851 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6235 || 853 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6235 ||
852 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6235_2) { 854 pid == PCI_PRODUCT_INTEL_WIFI_LINK_6235_2) {
853 sc->fwname = "iwlwifi-6000g2b-6.ucode"; 855 sc->fwname = "iwlwifi-6000g2b-6.ucode";
854 ops->config_bt_coex = iwn_config_bt_coex_adv1; 856 ops->config_bt_coex = iwn_config_bt_coex_adv1;
855 } 857 }
856 /* 858 /*
857 * This covers: 859 * This covers:
858 * PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_1 860 * PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_1
859 * PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_2 861 * PCI_PRODUCT_INTEL_WIFI_LINK_6005_2X2_2
860 */ 862 */
861 else 863 else