diff options
author | marius <marius@FreeBSD.org> | 2015-07-24 17:01:16 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2015-07-24 17:01:16 +0000 |
commit | 80a6ca2f84fabd7be57bcbfc824d757ddebb2923 (patch) | |
tree | 2945ac6205826225ac9bc1eab79e139c39265d5e /usr.bin/ar | |
parent | 0d16c6f74f97d74dcfa7f9bf55a1df2bf0eb2589 (diff) | |
download | FreeBSD-src-80a6ca2f84fabd7be57bcbfc824d757ddebb2923.zip FreeBSD-src-80a6ca2f84fabd7be57bcbfc824d757ddebb2923.tar.gz |
- Since r253161, uart_intr() abuses FILTER_SCHEDULE_THREAD for signaling
uart_bus_attach() during its test that 20 iterations weren't sufficient
for clearing all pending interrupts, assuming this means that hardware
is broken and doesn't deassert interrupts. However, under pressure, 20
iterations also can be insufficient for clearing all pending interrupts,
leading to a panic as intr_event_handle() tries to schedule an interrupt
handler not registered. Solve this by introducing a flag that is set in
test mode and otherwise restores pre-r253161 behavior of uart_intr(). The
approach of additionally registering uart_intr() as handler as suggested
in PR 194979 is not taken as that in turn would abuse special pccard and
pccbb handling code of intr_event_handle(). [1]
- Const'ify uart_driver_name.
- Fix some minor style bugs.
PR: 194979 [1]
Reviewed by: marcel (earlier version)
MFC after: 3 days
Diffstat (limited to 'usr.bin/ar')
0 files changed, 0 insertions, 0 deletions