patch-2.0.16 linux/drivers/isdn/teles/card.c
Next file: linux/drivers/scsi/ChangeLog.ncr53c8xx
Previous file: linux/drivers/isdn/isdn_ppp.h
Back to the patch index
Back to the overall index
- Lines: 54
- Date:
Sat Aug 31 19:01:49 1996
- Orig file:
v2.0.15/linux/drivers/isdn/teles/card.c
- Orig date:
Sat Jun 29 20:36:23 1996
diff -u --recursive --new-file v2.0.15/linux/drivers/isdn/teles/card.c linux/drivers/isdn/teles/card.c
@@ -1,4 +1,4 @@
-/* $Id: card.c,v 1.12 1996/06/24 17:16:52 fritz Exp $
+/* $Id: card.c,v 1.13 1996/07/18 11:21:24 jdenoud Exp $
*
* card.c low level stuff for the Teles S0 isdn card
*
@@ -7,6 +7,9 @@
* Beat Doebeli log all D channel traffic
*
* $Log: card.c,v $
+ * Revision 1.13 1996/07/18 11:21:24 jdenoud
+ * Use small buffers for incoming audio data
+ *
* Revision 1.12 1996/06/24 17:16:52 fritz
* Added check for misconfigured membase.
*
@@ -424,7 +427,7 @@
{
byte r;
struct HscxState *hsp = sp->hs + hscx;
- int count;
+ int count, err;
if (!hsp->init)
return;
@@ -471,9 +474,15 @@
}
afterRME:
if (val & 0x40) { /* RPF */
- if (!hsp->rcvibh)
- if (BufPoolGet(&hsp->rcvibh, &hsp->rbufpool,
- GFP_ATOMIC, (void *) 1, 2)) {
+ if (!hsp->rcvibh) {
+ if (hsp->mode == 1)
+ err=BufPoolGet(&hsp->rcvibh, &hsp->smallpool,
+ GFP_ATOMIC, (void *)1, 2);
+ else
+ err=BufPoolGet(&hsp->rcvibh, &hsp->rbufpool,
+ GFP_ATOMIC, (void *)1, 2);
+
+ if (err) {
printk(KERN_WARNING
"HSCX RPF out of buffers at %ld\n",
jiffies);
@@ -482,7 +491,8 @@
goto afterRPF;
} else
hsp->rcvptr = 0;
-
+ }
+
hscx_empty_fifo(hsp, 32);
if (hsp->mode == 1) {
/* receive audio data */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov