scsi_scan_bus in FreeBSD 10.1 has mutex unlock and lock swapped
Sibananda Sahu
sibananda.sahu at avagotech.com
Thu Apr 9 10:10:59 UTC 2015
Hi,
Recently I was working with mpslsi3 driver and found that the system just
crashed at xpt_action() call.
The same driver code is working just fine with other versions of FreeBSD.
After digging a little into the CAM layer code I found that:
inside scsi_scan_bus()at line number: 1935 first mutex_unlock(mtx) is
called and then at line 1974 called mtx_lock(mtx) just before exiting the
XPT_SCAN_BUS case.
I just swapped the calls and called mutex_lock() first and then called
mutex_unlock() and found there is no kernel panic.
Driver was loaded just fine but after a while I was unable to operate the
system.
But pinging to the system was working and the system was up.
Is it OK or it looks to be a bug?
Thanks,
Sibananda Sahu
More information about the freebsd-bugs
mailing list