patch-2.1.37 linux/drivers/isdn/hisax/isdnl1.c

Next file: linux/drivers/isdn/isdn_net.c
Previous file: linux/drivers/isdn/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/drivers/isdn/hisax/isdnl1.c linux/drivers/isdn/hisax/isdnl1.c
@@ -461,11 +461,11 @@
 	if (!sp)
 		return;
 
-	if (clear_bit(ISAC_PHCHANGE, &sp->event))
+	if (test_and_clear_bit(ISAC_PHCHANGE, &sp->event))
 		process_new_ph(sp);
-	if (clear_bit(ISAC_RCVBUFREADY, &sp->event))
+	if (test_and_clear_bit(ISAC_RCVBUFREADY, &sp->event))
 		process_rcv(sp);
-	if (clear_bit(ISAC_XMTBUFREADY, &sp->event))
+	if (test_and_clear_bit(ISAC_XMTBUFREADY, &sp->event))
 		process_xmt(sp);
 }
 
@@ -578,9 +578,9 @@
 	if (!hsp)
 		return;
 
-	if (clear_bit(HSCX_RCVBUFREADY, &hsp->event))
+	if (test_and_clear_bit(HSCX_RCVBUFREADY, &hsp->event))
 		hscx_process_rcv(hsp);
-	if (clear_bit(HSCX_XMTBUFREADY, &hsp->event))
+	if (test_and_clear_bit(HSCX_XMTBUFREADY, &hsp->event))
 		hscx_process_xmt(hsp);
 
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov