Watchdog drivers need to support rearming the watchdog in contexts
which are not permitted to sleep. Only use the IPMI watchdog with
backends which poll driver-initiated requests to meet this
requirement.
Details
- test on an existing IPMI KCS system and verify the watchdog still works properly
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
Scott, I don't have any hardware handy. Can you test this for me when you get some free time? Thanks.
This looks like it should work. Haven't checked the spec to make sure that these are the only two transports that support watchdog...
The watchdog is supported irrespective of the backend. This is a reflection of the limitation of the driver, not the hardware. However, I have seen very few backends which use SSIF (the smbus-based backend) in the wild, so I think this is fine vs trying to write a polled variant of the SSIF backend.
Tested that the watchdog was still attached on a machine with KCS. Also hacked the kcs backend to #if 0 out the 'driver_requetsts_polled' assignment and the watchdog was not attached. Also, unloading teh driver in both cases worked fine without tripping over an assertion failure, etc.