CVSROOT:        /cvs
Module name:    src
Changes by:     s...@cvs.openbsd.org    2018/04/29 02:45:01

Modified files:
        sys/dev/pci    : if_em_hw.c if_em_hw.h 

Log message:
em: Make em_get_software_flag() recursive

The em driver calls em_get_software_flag() recursively, which causes the
semaphore to be unlocked too early. Make em_get_software_flag and
em_release_software_flag handle this correctly.  Freebsd does not do
this, but they have a mutex that probably allows them to detect
recursive calls to e1000_acquire_swflag_ich8lan().  Reworking the
openbsd driver to not recursively get the semaphore would be very
invasive.

ok mikeb@

Reply via email to