diff options
-rw-r--r-- | pciradio.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -1172,7 +1172,6 @@ static int pciradio_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long rad->bursttime[chan->chanpos - 1] = stack.p.data; break; case ZT_RADPAR_UIODATA: - spin_lock_irqsave(&rad->lock,flags); byte1 = __pciradio_getcreg(rad,8); byte1 &= ~(1 << (chan->chanpos - 1)); byte1 &= ~(1 << (chan->chanpos + 3)); @@ -1182,7 +1181,6 @@ static int pciradio_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long spin_unlock_irqrestore(&rad->lock,flags); break; case ZT_RADPAR_UIOMODE: - spin_lock_irqsave(&rad->lock,flags); byte1 = __pciradio_getcreg(rad,0xe); byte1 &= ~(1 << (chan->chanpos - 1)); byte1 &= ~(1 << (chan->chanpos + 3)); @@ -1205,7 +1203,6 @@ static int pciradio_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long if (rad->remmode[chan->chanpos - 1] == ZT_RADPAR_REM_RBI1) { /* set UIOA and UIOB for output */ - spin_lock_irqsave(&rad->lock,flags); byte1 = __pciradio_getcreg(rad,0xe); mask = (1 << (chan->chanpos - 1)) | (1 << (chan->chanpos + 3)); @@ -1222,10 +1219,10 @@ static int pciradio_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long interruptible_sleep_on_timeout(&mywait,10); rad->lastremcmd = jiffies; rbi_out(rad,chan->chanpos - 1,(unsigned char *)&stack.p.data); + spin_lock_irqsave(&rad->lock,flags); break; } /* set UIOA and UIOB for output */ - spin_lock_irqsave(&rad->lock,flags); byte1 = __pciradio_getcreg(rad,0xe); mask = 1 << (chan->chanpos + 3); /* B an output */ byte2 = byte1 & (~mask); |