The firmware replaces the last 32-bit on RAM with a shared DRAM address.
authorpatrick <patrick@openbsd.org>
Thu, 25 Feb 2021 23:59:54 +0000 (23:59 +0000)
committerpatrick <patrick@openbsd.org>
Thu, 25 Feb 2021 23:59:54 +0000 (23:59 +0000)
commit1987145253e2835b248c2a5e20dc0b8dfd60e5be
treebb236b28d4dd69b14eac5ba974feff2c23542ff9
parent3c53ddef6de1ba5c41255da644773727fffe34cc
The firmware replaces the last 32-bit on RAM with a shared DRAM address.
While the for-loop checks that thie value has changed since we wrote to
it, the timeout-condition checked for non-zero, which is wrong.  This
means that we didn't realize the firmware wasn't started.  While there,
make sure the shared DRAM address is inside the chip's address space.
sys/dev/pci/if_bwfm_pci.c