HomeFreeBSD

iwlwifi: fix hang on unloading driver

Description

iwlwifi: fix hang on unloading driver

f808c43ad9234670770601ba32a7426b00bbf528 introduced a FreeBSD specific
behaviour to wait for firmware load completion before returning from
loading the driver. This does no longer allow iwl_drv_stop to detect
that startup has completed and it will wait indefinitely for a
completion event that will not happen.
We could change the complete() call to a complete_all() but to avoid
confusion, future side effects, and for simplicity daisy-chain two
complete events in FreeBSD.

PR: 267869
Reported by: Peter Much (pmc citylink.dinoex.sub.org)
Tested by: Peter Much (pmc citylink.dinoex.sub.org)
Sponsored by: The FreeBSD Foundation

(cherry picked from commit bee60c98974593d25aa18743f9413a78e0d57dc9)

Details

Provenance
bzAuthored on Nov 22 2022, 5:29 PM
Parents
rG589a423b02ce: LinuxKPI: add memset_startat macro
Branches
Unknown
Tags
Unknown