aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ips
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2005-04-26 13:38:29 +0000
committerScott Long <scottl@FreeBSD.org>2005-04-26 13:38:29 +0000
commit4ef63bad6985b0c8595a87fac8f137c377f20aed (patch)
treeb2b8b64c1d793ee9820d8f341e73aa533a326fe3 /sys/dev/ips
parent7849b49a608a84c080c7eec4030810f652446984 (diff)
Notes
Diffstat (limited to 'sys/dev/ips')
-rw-r--r--sys/dev/ips/ips.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ips/ips.c b/sys/dev/ips/ips.c
index f80dc8f534416..9229857999fd0 100644
--- a/sys/dev/ips/ips.c
+++ b/sys/dev/ips/ips.c
@@ -512,7 +512,6 @@ static __inline int ips_morpheus_check_intr(ips_softc_t *sc)
PRINTF(9, "interrupt registers out:%x\n", oisr);
if(!(oisr & MORPHEUS_BIT_CMD_IRQ)){
DEVICE_PRINTF(2,sc->dev, "got a non-command irq\n");
- mtx_unlock(&sc->queue_mtx);
return (0);
}
while((status.value = ips_read_4(sc, MORPHEUS_REG_OQPR)) != 0xffffffff){
@@ -540,6 +539,10 @@ void ips_morpheus_poll(ips_command_t *command)
{
uint32_t ts;
+ /*
+ * Locks are not used here because this is only called during
+ * crashdumps.
+ */
ts = time_second + command->timeout;
while ((command->timeout != 0)
&& (ips_morpheus_check_intr(command->sc) == 0)