From 70ff1895a6b074c04a5eeee11e2dc88affd2e97e Mon Sep 17 00:00:00 2001 From: Stefan Sperling Date: Thu, 11 Jun 2020 08:19:18 +0000 Subject: Load iwx(4) firmware just once. On iwx(4) devices there is no two-step firmware loading process with an INIT and RT image, as was the case with iwn(4) and iwm(4). Loading the image twice leaves firmware in a semi-operational state with problems such as fatal firmware errors and missing regulatory domain update notifications. Tested by jcs@, sven falempin, and myself. ok patrick@ --- sys/dev/pci/if_iwx.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/sys/dev/pci/if_iwx.c b/sys/dev/pci/if_iwx.c index 25e086f8d77..05c737abbc6 100644 --- a/sys/dev/pci/if_iwx.c +++ b/sys/dev/pci/if_iwx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwx.c,v 1.23 2020/06/11 08:18:24 stsp Exp $ */ +/* $OpenBSD: if_iwx.c,v 1.24 2020/06/11 08:19:17 stsp Exp $ */ /* * Copyright (c) 2014, 2016 genua gmbh @@ -6547,20 +6547,6 @@ iwx_init_hw(struct iwx_softc *sc) if (err) return err; - /* Should stop and start HW since INIT image just loaded. */ - iwx_stop_device(sc); - err = iwx_start_hw(sc); - if (err) { - printf("%s: could not initialize hardware\n", DEVNAME(sc)); - return err; - } - - err = iwx_load_ucode_wait_alive(sc); - if (err) { - printf("%s: could not load firmware\n", DEVNAME(sc)); - goto err; - } - if (!iwx_nic_lock(sc)) return EBUSY; -- cgit v1.2.3