aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/mISDN/hfcmulti.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/hardware/mISDN/hfcmulti.c')
-rw-r--r--drivers/isdn/hardware/mISDN/hfcmulti.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c
index ca153de6954e..3a7c26ce12cf 100644
--- a/drivers/isdn/hardware/mISDN/hfcmulti.c
+++ b/drivers/isdn/hardware/mISDN/hfcmulti.c
@@ -1945,6 +1945,9 @@ next_frame:
1945 "%d!=%d\n", __func__, hc->id + 1, temp, z2); 1945 "%d!=%d\n", __func__, hc->id + 1, temp, z2);
1946 z2 = temp; /* repeat unti Z2 is equal */ 1946 z2 = temp; /* repeat unti Z2 is equal */
1947 } 1947 }
1948 hc->chan[ch].Zfill = z1 - z2;
1949 if (hc->chan[ch].Zfill < 0)
1950 hc->chan[ch].Zfill += hc->Zlen;
1948 Zspace = z2 - z1; 1951 Zspace = z2 - z1;
1949 if (Zspace <= 0) 1952 if (Zspace <= 0)
1950 Zspace += hc->Zlen; 1953 Zspace += hc->Zlen;
@@ -2031,6 +2034,7 @@ next_frame:
2031 2034
2032 /* Have to prep the audio data */ 2035 /* Have to prep the audio data */
2033 hc->write_fifo(hc, d, ii - i); 2036 hc->write_fifo(hc, d, ii - i);
2037 hc->chan[ch].Zfill += ii - i;
2034 *idxp = ii; 2038 *idxp = ii;
2035 2039
2036 /* if not all data has been written */ 2040 /* if not all data has been written */
@@ -2226,7 +2230,7 @@ next_frame:
2226 if (dch) 2230 if (dch)
2227 recv_Dchannel(dch); 2231 recv_Dchannel(dch);
2228 else 2232 else
2229 recv_Bchannel(bch); 2233 recv_Bchannel(bch, MISDN_ID_ANY);
2230 *sp = skb; 2234 *sp = skb;
2231 again++; 2235 again++;
2232 goto next_frame; 2236 goto next_frame;
@@ -2258,7 +2262,7 @@ next_frame:
2258 "(z1=%04x, z2=%04x) TRANS\n", 2262 "(z1=%04x, z2=%04x) TRANS\n",
2259 __func__, hc->id + 1, ch, Zsize, z1, z2); 2263 __func__, hc->id + 1, ch, Zsize, z1, z2);
2260 /* only bch is transparent */ 2264 /* only bch is transparent */
2261 recv_Bchannel(bch); 2265 recv_Bchannel(bch, hc->chan[ch].Zfill);
2262 *sp = skb; 2266 *sp = skb;
2263 } 2267 }
2264} 2268}