diff options
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/capi/capiutil.c | 2 | ||||
-rw-r--r-- | drivers/isdn/gigaset/Kconfig | 2 | ||||
-rw-r--r-- | drivers/isdn/gigaset/gigaset.h | 3 | ||||
-rw-r--r-- | drivers/isdn/gigaset/usb-gigaset.c | 77 | ||||
-rw-r--r-- | drivers/isdn/hardware/eicon/message.c | 4 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/Kconfig | 2 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/hfcpci.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/mISDNipac.c | 12 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/w6692.c | 6 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc4s8s_l1.c | 21 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_2bs0.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_sx.c | 3 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_usb.c | 5 | ||||
-rw-r--r-- | drivers/isdn/hisax/ipacx.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/isdnl1.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/isdnl3.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hysdn/hycapi.c | 2 | ||||
-rw-r--r-- | drivers/isdn/icn/icn.c | 2 | ||||
-rw-r--r-- | drivers/isdn/isdnloop/isdnloop.c | 64 | ||||
-rw-r--r-- | drivers/isdn/mISDN/l1oip_codec.c | 6 | ||||
-rw-r--r-- | drivers/isdn/mISDN/socket.c | 4 | ||||
-rw-r--r-- | drivers/isdn/pcbit/layer2.c | 1 | ||||
-rw-r--r-- | drivers/isdn/sc/init.c | 15 |
23 files changed, 104 insertions, 137 deletions
diff --git a/drivers/isdn/capi/capiutil.c b/drivers/isdn/capi/capiutil.c index 36c1b37cea0a..9846d82eb097 100644 --- a/drivers/isdn/capi/capiutil.c +++ b/drivers/isdn/capi/capiutil.c | |||
@@ -201,7 +201,7 @@ static unsigned char *cpars[] = | |||
201 | #define structTRcpyovl(x, y, l) memmove(y, x, l) | 201 | #define structTRcpyovl(x, y, l) memmove(y, x, l) |
202 | 202 | ||
203 | /*-------------------------------------------------------*/ | 203 | /*-------------------------------------------------------*/ |
204 | static unsigned command_2_index(unsigned c, unsigned sc) | 204 | static unsigned command_2_index(u8 c, u8 sc) |
205 | { | 205 | { |
206 | if (c & 0x80) | 206 | if (c & 0x80) |
207 | c = 0x9 + (c & 0x0f); | 207 | c = 0x9 + (c & 0x0f); |
diff --git a/drivers/isdn/gigaset/Kconfig b/drivers/isdn/gigaset/Kconfig index dde5e09e6267..83f62b8d82b5 100644 --- a/drivers/isdn/gigaset/Kconfig +++ b/drivers/isdn/gigaset/Kconfig | |||
@@ -20,7 +20,7 @@ if ISDN_DRV_GIGASET | |||
20 | config GIGASET_CAPI | 20 | config GIGASET_CAPI |
21 | bool "Gigaset CAPI support" | 21 | bool "Gigaset CAPI support" |
22 | depends on ISDN_CAPI='y'||(ISDN_CAPI='m'&&ISDN_DRV_GIGASET='m') | 22 | depends on ISDN_CAPI='y'||(ISDN_CAPI='m'&&ISDN_DRV_GIGASET='m') |
23 | default ISDN_I4L='n' | 23 | default 'y' |
24 | help | 24 | help |
25 | Build the Gigaset driver as a CAPI 2.0 driver interfacing with | 25 | Build the Gigaset driver as a CAPI 2.0 driver interfacing with |
26 | the Kernel CAPI subsystem. To use it with the old ISDN4Linux | 26 | the Kernel CAPI subsystem. To use it with the old ISDN4Linux |
diff --git a/drivers/isdn/gigaset/gigaset.h b/drivers/isdn/gigaset/gigaset.h index eb63a0f7a02a..166537e2dfca 100644 --- a/drivers/isdn/gigaset/gigaset.h +++ b/drivers/isdn/gigaset/gigaset.h | |||
@@ -751,9 +751,6 @@ void gigaset_stop(struct cardstate *cs); | |||
751 | /* Tell common.c that the driver is being unloaded. */ | 751 | /* Tell common.c that the driver is being unloaded. */ |
752 | int gigaset_shutdown(struct cardstate *cs); | 752 | int gigaset_shutdown(struct cardstate *cs); |
753 | 753 | ||
754 | /* Tell common.c that an skb has been sent. */ | ||
755 | void gigaset_skb_sent(struct bc_state *bcs, struct sk_buff *skb); | ||
756 | |||
757 | /* Append event to the queue. | 754 | /* Append event to the queue. |
758 | * Returns NULL on failure or a pointer to the event on success. | 755 | * Returns NULL on failure or a pointer to the event on success. |
759 | * ptr must be kmalloc()ed (and not be freed by the caller). | 756 | * ptr must be kmalloc()ed (and not be freed by the caller). |
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c index a8e652dac54d..5f306e2eece5 100644 --- a/drivers/isdn/gigaset/usb-gigaset.c +++ b/drivers/isdn/gigaset/usb-gigaset.c | |||
@@ -293,7 +293,7 @@ static int gigaset_close_bchannel(struct bc_state *bcs) | |||
293 | } | 293 | } |
294 | 294 | ||
295 | static int write_modem(struct cardstate *cs); | 295 | static int write_modem(struct cardstate *cs); |
296 | static int send_cb(struct cardstate *cs, struct cmdbuf_t *cb); | 296 | static int send_cb(struct cardstate *cs); |
297 | 297 | ||
298 | 298 | ||
299 | /* Write tasklet handler: Continue sending current skb, or send command, or | 299 | /* Write tasklet handler: Continue sending current skb, or send command, or |
@@ -303,8 +303,6 @@ static void gigaset_modem_fill(unsigned long data) | |||
303 | { | 303 | { |
304 | struct cardstate *cs = (struct cardstate *) data; | 304 | struct cardstate *cs = (struct cardstate *) data; |
305 | struct bc_state *bcs = &cs->bcs[0]; /* only one channel */ | 305 | struct bc_state *bcs = &cs->bcs[0]; /* only one channel */ |
306 | struct cmdbuf_t *cb; | ||
307 | int again; | ||
308 | 306 | ||
309 | gig_dbg(DEBUG_OUTPUT, "modem_fill"); | 307 | gig_dbg(DEBUG_OUTPUT, "modem_fill"); |
310 | 308 | ||
@@ -313,36 +311,32 @@ static void gigaset_modem_fill(unsigned long data) | |||
313 | return; | 311 | return; |
314 | } | 312 | } |
315 | 313 | ||
316 | do { | 314 | again: |
317 | again = 0; | 315 | if (!bcs->tx_skb) { /* no skb is being sent */ |
318 | if (!bcs->tx_skb) { /* no skb is being sent */ | 316 | if (cs->cmdbuf) { /* commands to send? */ |
319 | cb = cs->cmdbuf; | 317 | gig_dbg(DEBUG_OUTPUT, "modem_fill: cb"); |
320 | if (cb) { /* commands to send? */ | 318 | if (send_cb(cs) < 0) { |
321 | gig_dbg(DEBUG_OUTPUT, "modem_fill: cb"); | ||
322 | if (send_cb(cs, cb) < 0) { | ||
323 | gig_dbg(DEBUG_OUTPUT, | ||
324 | "modem_fill: send_cb failed"); | ||
325 | again = 1; /* no callback will be | ||
326 | called! */ | ||
327 | } | ||
328 | } else { /* skbs to send? */ | ||
329 | bcs->tx_skb = skb_dequeue(&bcs->squeue); | ||
330 | if (bcs->tx_skb) | ||
331 | gig_dbg(DEBUG_INTR, | ||
332 | "Dequeued skb (Adr: %lx)!", | ||
333 | (unsigned long) bcs->tx_skb); | ||
334 | } | ||
335 | } | ||
336 | |||
337 | if (bcs->tx_skb) { | ||
338 | gig_dbg(DEBUG_OUTPUT, "modem_fill: tx_skb"); | ||
339 | if (write_modem(cs) < 0) { | ||
340 | gig_dbg(DEBUG_OUTPUT, | 319 | gig_dbg(DEBUG_OUTPUT, |
341 | "modem_fill: write_modem failed"); | 320 | "modem_fill: send_cb failed"); |
342 | again = 1; /* no callback will be called! */ | 321 | goto again; /* no callback will be called! */ |
343 | } | 322 | } |
323 | return; | ||
344 | } | 324 | } |
345 | } while (again); | 325 | |
326 | /* skbs to send? */ | ||
327 | bcs->tx_skb = skb_dequeue(&bcs->squeue); | ||
328 | if (!bcs->tx_skb) | ||
329 | return; | ||
330 | |||
331 | gig_dbg(DEBUG_INTR, "Dequeued skb (Adr: %lx)!", | ||
332 | (unsigned long) bcs->tx_skb); | ||
333 | } | ||
334 | |||
335 | gig_dbg(DEBUG_OUTPUT, "modem_fill: tx_skb"); | ||
336 | if (write_modem(cs) < 0) { | ||
337 | gig_dbg(DEBUG_OUTPUT, "modem_fill: write_modem failed"); | ||
338 | goto again; /* no callback will be called! */ | ||
339 | } | ||
346 | } | 340 | } |
347 | 341 | ||
348 | /* | 342 | /* |
@@ -429,9 +423,9 @@ static void gigaset_write_bulk_callback(struct urb *urb) | |||
429 | spin_unlock_irqrestore(&cs->lock, flags); | 423 | spin_unlock_irqrestore(&cs->lock, flags); |
430 | } | 424 | } |
431 | 425 | ||
432 | static int send_cb(struct cardstate *cs, struct cmdbuf_t *cb) | 426 | static int send_cb(struct cardstate *cs) |
433 | { | 427 | { |
434 | struct cmdbuf_t *tcb; | 428 | struct cmdbuf_t *cb = cs->cmdbuf; |
435 | unsigned long flags; | 429 | unsigned long flags; |
436 | int count; | 430 | int count; |
437 | int status = -ENOENT; | 431 | int status = -ENOENT; |
@@ -439,26 +433,27 @@ static int send_cb(struct cardstate *cs, struct cmdbuf_t *cb) | |||
439 | 433 | ||
440 | do { | 434 | do { |
441 | if (!cb->len) { | 435 | if (!cb->len) { |
442 | tcb = cb; | ||
443 | |||
444 | spin_lock_irqsave(&cs->cmdlock, flags); | 436 | spin_lock_irqsave(&cs->cmdlock, flags); |
445 | cs->cmdbytes -= cs->curlen; | 437 | cs->cmdbytes -= cs->curlen; |
446 | gig_dbg(DEBUG_OUTPUT, "send_cb: sent %u bytes, %u left", | 438 | gig_dbg(DEBUG_OUTPUT, "send_cb: sent %u bytes, %u left", |
447 | cs->curlen, cs->cmdbytes); | 439 | cs->curlen, cs->cmdbytes); |
448 | cs->cmdbuf = cb = cb->next; | 440 | cs->cmdbuf = cb->next; |
449 | if (cb) { | 441 | if (cs->cmdbuf) { |
450 | cb->prev = NULL; | 442 | cs->cmdbuf->prev = NULL; |
451 | cs->curlen = cb->len; | 443 | cs->curlen = cs->cmdbuf->len; |
452 | } else { | 444 | } else { |
453 | cs->lastcmdbuf = NULL; | 445 | cs->lastcmdbuf = NULL; |
454 | cs->curlen = 0; | 446 | cs->curlen = 0; |
455 | } | 447 | } |
456 | spin_unlock_irqrestore(&cs->cmdlock, flags); | 448 | spin_unlock_irqrestore(&cs->cmdlock, flags); |
457 | 449 | ||
458 | if (tcb->wake_tasklet) | 450 | if (cb->wake_tasklet) |
459 | tasklet_schedule(tcb->wake_tasklet); | 451 | tasklet_schedule(cb->wake_tasklet); |
460 | kfree(tcb); | 452 | kfree(cb); |
453 | |||
454 | cb = cs->cmdbuf; | ||
461 | } | 455 | } |
456 | |||
462 | if (cb) { | 457 | if (cb) { |
463 | count = min(cb->len, ucs->bulk_out_size); | 458 | count = min(cb->len, ucs->bulk_out_size); |
464 | gig_dbg(DEBUG_OUTPUT, "send_cb: send %d bytes", count); | 459 | gig_dbg(DEBUG_OUTPUT, "send_cb: send %d bytes", count); |
diff --git a/drivers/isdn/hardware/eicon/message.c b/drivers/isdn/hardware/eicon/message.c index a82e542ffc21..d7c286656a25 100644 --- a/drivers/isdn/hardware/eicon/message.c +++ b/drivers/isdn/hardware/eicon/message.c | |||
@@ -1474,7 +1474,7 @@ static byte connect_res(dword Id, word Number, DIVA_CAPI_ADAPTER *a, | |||
1474 | add_ai(plci, &parms[5]); | 1474 | add_ai(plci, &parms[5]); |
1475 | sig_req(plci, REJECT, 0); | 1475 | sig_req(plci, REJECT, 0); |
1476 | } | 1476 | } |
1477 | else if (Reject == 1 || Reject > 9) | 1477 | else if (Reject == 1 || Reject >= 9) |
1478 | { | 1478 | { |
1479 | add_ai(plci, &parms[5]); | 1479 | add_ai(plci, &parms[5]); |
1480 | sig_req(plci, HANGUP, 0); | 1480 | sig_req(plci, HANGUP, 0); |
@@ -4880,7 +4880,7 @@ static void sig_ind(PLCI *plci) | |||
4880 | byte SS_Ind[] = "\x05\x02\x00\x02\x00\x00"; /* Hold_Ind struct*/ | 4880 | byte SS_Ind[] = "\x05\x02\x00\x02\x00\x00"; /* Hold_Ind struct*/ |
4881 | byte CF_Ind[] = "\x09\x02\x00\x06\x00\x00\x00\x00\x00\x00"; | 4881 | byte CF_Ind[] = "\x09\x02\x00\x06\x00\x00\x00\x00\x00\x00"; |
4882 | byte Interr_Err_Ind[] = "\x0a\x02\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; | 4882 | byte Interr_Err_Ind[] = "\x0a\x02\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; |
4883 | byte CONF_Ind[] = "\x09\x16\x00\x06\x00\x00\0x00\0x00\0x00\0x00"; | 4883 | byte CONF_Ind[] = "\x09\x16\x00\x06\x00\x00\x00\x00\x00\x00"; |
4884 | byte force_mt_info = false; | 4884 | byte force_mt_info = false; |
4885 | byte dir; | 4885 | byte dir; |
4886 | dword d; | 4886 | dword d; |
diff --git a/drivers/isdn/hardware/mISDN/Kconfig b/drivers/isdn/hardware/mISDN/Kconfig index b8611e3e5e74..09df54fc1fef 100644 --- a/drivers/isdn/hardware/mISDN/Kconfig +++ b/drivers/isdn/hardware/mISDN/Kconfig | |||
@@ -24,7 +24,7 @@ config MISDN_HFCMULTI | |||
24 | * HFC-E1 (E1 interface for 2Mbit ISDN) | 24 | * HFC-E1 (E1 interface for 2Mbit ISDN) |
25 | 25 | ||
26 | config MISDN_HFCMULTI_8xx | 26 | config MISDN_HFCMULTI_8xx |
27 | boolean "Support for XHFC embedded board in HFC multiport driver" | 27 | bool "Support for XHFC embedded board in HFC multiport driver" |
28 | depends on MISDN | 28 | depends on MISDN |
29 | depends on MISDN_HFCMULTI | 29 | depends on MISDN_HFCMULTI |
30 | depends on 8xx | 30 | depends on 8xx |
diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c index 3c92780bda09..ff48da61c94c 100644 --- a/drivers/isdn/hardware/mISDN/hfcpci.c +++ b/drivers/isdn/hardware/mISDN/hfcpci.c | |||
@@ -1755,7 +1755,7 @@ init_card(struct hfc_pci *hc) | |||
1755 | enable_hwirq(hc); | 1755 | enable_hwirq(hc); |
1756 | spin_unlock_irqrestore(&hc->lock, flags); | 1756 | spin_unlock_irqrestore(&hc->lock, flags); |
1757 | /* Timeout 80ms */ | 1757 | /* Timeout 80ms */ |
1758 | current->state = TASK_UNINTERRUPTIBLE; | 1758 | set_current_state(TASK_UNINTERRUPTIBLE); |
1759 | schedule_timeout((80 * HZ) / 1000); | 1759 | schedule_timeout((80 * HZ) / 1000); |
1760 | printk(KERN_INFO "HFC PCI: IRQ %d count %d\n", | 1760 | printk(KERN_INFO "HFC PCI: IRQ %d count %d\n", |
1761 | hc->irq, hc->irqcnt); | 1761 | hc->irq, hc->irqcnt); |
diff --git a/drivers/isdn/hardware/mISDN/mISDNipac.c b/drivers/isdn/hardware/mISDN/mISDNipac.c index ccd7d851be26..a77eea594b69 100644 --- a/drivers/isdn/hardware/mISDN/mISDNipac.c +++ b/drivers/isdn/hardware/mISDN/mISDNipac.c | |||
@@ -754,10 +754,10 @@ dbusy_timer_handler(struct isac_hw *isac) | |||
754 | } | 754 | } |
755 | 755 | ||
756 | static int | 756 | static int |
757 | open_dchannel(struct isac_hw *isac, struct channel_req *rq) | 757 | open_dchannel_caller(struct isac_hw *isac, struct channel_req *rq, void *caller) |
758 | { | 758 | { |
759 | pr_debug("%s: %s dev(%d) open from %p\n", isac->name, __func__, | 759 | pr_debug("%s: %s dev(%d) open from %p\n", isac->name, __func__, |
760 | isac->dch.dev.id, __builtin_return_address(1)); | 760 | isac->dch.dev.id, caller); |
761 | if (rq->protocol != ISDN_P_TE_S0) | 761 | if (rq->protocol != ISDN_P_TE_S0) |
762 | return -EINVAL; | 762 | return -EINVAL; |
763 | if (rq->adr.channel == 1) | 763 | if (rq->adr.channel == 1) |
@@ -771,6 +771,12 @@ open_dchannel(struct isac_hw *isac, struct channel_req *rq) | |||
771 | return 0; | 771 | return 0; |
772 | } | 772 | } |
773 | 773 | ||
774 | static int | ||
775 | open_dchannel(struct isac_hw *isac, struct channel_req *rq) | ||
776 | { | ||
777 | return open_dchannel_caller(isac, rq, __builtin_return_address(0)); | ||
778 | } | ||
779 | |||
774 | static const char *ISACVer[] = | 780 | static const char *ISACVer[] = |
775 | {"2086/2186 V1.1", "2085 B1", "2085 B2", | 781 | {"2086/2186 V1.1", "2085 B1", "2085 B2", |
776 | "2085 V2.3"}; | 782 | "2085 V2.3"}; |
@@ -1548,7 +1554,7 @@ ipac_dctrl(struct mISDNchannel *ch, u32 cmd, void *arg) | |||
1548 | case OPEN_CHANNEL: | 1554 | case OPEN_CHANNEL: |
1549 | rq = arg; | 1555 | rq = arg; |
1550 | if (rq->protocol == ISDN_P_TE_S0) | 1556 | if (rq->protocol == ISDN_P_TE_S0) |
1551 | err = open_dchannel(isac, rq); | 1557 | err = open_dchannel_caller(isac, rq, __builtin_return_address(0)); |
1552 | else | 1558 | else |
1553 | err = open_bchannel(ipac, rq); | 1559 | err = open_bchannel(ipac, rq); |
1554 | if (err) | 1560 | if (err) |
diff --git a/drivers/isdn/hardware/mISDN/w6692.c b/drivers/isdn/hardware/mISDN/w6692.c index de69f6828c76..741675525b53 100644 --- a/drivers/isdn/hardware/mISDN/w6692.c +++ b/drivers/isdn/hardware/mISDN/w6692.c | |||
@@ -1176,10 +1176,10 @@ w6692_l1callback(struct dchannel *dch, u32 cmd) | |||
1176 | } | 1176 | } |
1177 | 1177 | ||
1178 | static int | 1178 | static int |
1179 | open_dchannel(struct w6692_hw *card, struct channel_req *rq) | 1179 | open_dchannel(struct w6692_hw *card, struct channel_req *rq, void *caller) |
1180 | { | 1180 | { |
1181 | pr_debug("%s: %s dev(%d) open from %p\n", card->name, __func__, | 1181 | pr_debug("%s: %s dev(%d) open from %p\n", card->name, __func__, |
1182 | card->dch.dev.id, __builtin_return_address(1)); | 1182 | card->dch.dev.id, caller); |
1183 | if (rq->protocol != ISDN_P_TE_S0) | 1183 | if (rq->protocol != ISDN_P_TE_S0) |
1184 | return -EINVAL; | 1184 | return -EINVAL; |
1185 | if (rq->adr.channel == 1) | 1185 | if (rq->adr.channel == 1) |
@@ -1207,7 +1207,7 @@ w6692_dctrl(struct mISDNchannel *ch, u32 cmd, void *arg) | |||
1207 | case OPEN_CHANNEL: | 1207 | case OPEN_CHANNEL: |
1208 | rq = arg; | 1208 | rq = arg; |
1209 | if (rq->protocol == ISDN_P_TE_S0) | 1209 | if (rq->protocol == ISDN_P_TE_S0) |
1210 | err = open_dchannel(card, rq); | 1210 | err = open_dchannel(card, rq, __builtin_return_address(0)); |
1211 | else | 1211 | else |
1212 | err = open_bchannel(card, rq); | 1212 | err = open_bchannel(card, rq); |
1213 | if (err) | 1213 | if (err) |
diff --git a/drivers/isdn/hisax/hfc4s8s_l1.c b/drivers/isdn/hisax/hfc4s8s_l1.c index fc9f9d03fa13..0e5d673871c0 100644 --- a/drivers/isdn/hisax/hfc4s8s_l1.c +++ b/drivers/isdn/hisax/hfc4s8s_l1.c | |||
@@ -225,20 +225,6 @@ fWrite_hfc8(hfc4s8s_hw *a, u_char c) | |||
225 | } | 225 | } |
226 | 226 | ||
227 | static inline void | 227 | static inline void |
228 | Write_hfc16(hfc4s8s_hw *a, u_char b, u_short c) | ||
229 | { | ||
230 | SetRegAddr(a, b); | ||
231 | outw(c, a->iobase); | ||
232 | } | ||
233 | |||
234 | static inline void | ||
235 | Write_hfc32(hfc4s8s_hw *a, u_char b, u_long c) | ||
236 | { | ||
237 | SetRegAddr(a, b); | ||
238 | outl(c, a->iobase); | ||
239 | } | ||
240 | |||
241 | static inline void | ||
242 | fWrite_hfc32(hfc4s8s_hw *a, u_long c) | 228 | fWrite_hfc32(hfc4s8s_hw *a, u_long c) |
243 | { | 229 | { |
244 | outl(c, a->iobase); | 230 | outl(c, a->iobase); |
@@ -266,13 +252,6 @@ Read_hfc16(hfc4s8s_hw *a, u_char b) | |||
266 | } | 252 | } |
267 | 253 | ||
268 | static inline u_long | 254 | static inline u_long |
269 | Read_hfc32(hfc4s8s_hw *a, u_char b) | ||
270 | { | ||
271 | SetRegAddr(a, b); | ||
272 | return (inl((volatile u_int) a->iobase)); | ||
273 | } | ||
274 | |||
275 | static inline u_long | ||
276 | fRead_hfc32(hfc4s8s_hw *a) | 255 | fRead_hfc32(hfc4s8s_hw *a) |
277 | { | 256 | { |
278 | return (inl((volatile u_int) a->iobase)); | 257 | return (inl((volatile u_int) a->iobase)); |
diff --git a/drivers/isdn/hisax/hfc_2bs0.c b/drivers/isdn/hisax/hfc_2bs0.c index 838531b6a60e..14dada42874e 100644 --- a/drivers/isdn/hisax/hfc_2bs0.c +++ b/drivers/isdn/hisax/hfc_2bs0.c | |||
@@ -31,7 +31,7 @@ WaitForBusy(struct IsdnCardState *cs) | |||
31 | to--; | 31 | to--; |
32 | } | 32 | } |
33 | if (!to) { | 33 | if (!to) { |
34 | printk(KERN_WARNING "HiSax: waitforBusy timeout\n"); | 34 | printk(KERN_WARNING "HiSax: %s timeout\n", __func__); |
35 | return (0); | 35 | return (0); |
36 | } else | 36 | } else |
37 | return (to); | 37 | return (to); |
diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c index fa1fefd711cd..b1fad81f0722 100644 --- a/drivers/isdn/hisax/hfc_sx.c +++ b/drivers/isdn/hisax/hfc_sx.c | |||
@@ -1159,7 +1159,8 @@ hfcsx_l2l1(struct PStack *st, int pr, void *arg) | |||
1159 | case (PH_PULL | INDICATION): | 1159 | case (PH_PULL | INDICATION): |
1160 | spin_lock_irqsave(&bcs->cs->lock, flags); | 1160 | spin_lock_irqsave(&bcs->cs->lock, flags); |
1161 | if (bcs->tx_skb) { | 1161 | if (bcs->tx_skb) { |
1162 | printk(KERN_WARNING "hfc_l2l1: this shouldn't happen\n"); | 1162 | printk(KERN_WARNING "%s: this shouldn't happen\n", |
1163 | __func__); | ||
1163 | } else { | 1164 | } else { |
1164 | // test_and_set_bit(BC_FLG_BUSY, &bcs->Flag); | 1165 | // test_and_set_bit(BC_FLG_BUSY, &bcs->Flag); |
1165 | bcs->tx_skb = skb; | 1166 | bcs->tx_skb = skb; |
diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c index 849a80752685..678bd5224bc3 100644 --- a/drivers/isdn/hisax/hfc_usb.c +++ b/drivers/isdn/hisax/hfc_usb.c | |||
@@ -927,9 +927,8 @@ start_int_fifo(usb_fifo *fifo) | |||
927 | fifo->active = 1; /* must be marked active */ | 927 | fifo->active = 1; /* must be marked active */ |
928 | errcode = usb_submit_urb(fifo->urb, GFP_KERNEL); | 928 | errcode = usb_submit_urb(fifo->urb, GFP_KERNEL); |
929 | if (errcode) { | 929 | if (errcode) { |
930 | printk(KERN_ERR | 930 | printk(KERN_ERR "HFC-S USB: submit URB error(%s): status:%i\n", |
931 | "HFC-S USB: submit URB error(start_int_info): status:%i\n", | 931 | __func__, errcode); |
932 | errcode); | ||
933 | fifo->active = 0; | 932 | fifo->active = 0; |
934 | fifo->skbuff = NULL; | 933 | fifo->skbuff = NULL; |
935 | } | 934 | } |
diff --git a/drivers/isdn/hisax/ipacx.c b/drivers/isdn/hisax/ipacx.c index 5faa5de24305..9cc26b40a437 100644 --- a/drivers/isdn/hisax/ipacx.c +++ b/drivers/isdn/hisax/ipacx.c | |||
@@ -580,7 +580,7 @@ bch_fill_fifo(struct BCState *bcs) | |||
580 | if (cs->debug & L1_DEB_HSCX_FIFO) { | 580 | if (cs->debug & L1_DEB_HSCX_FIFO) { |
581 | char *t = bcs->blog; | 581 | char *t = bcs->blog; |
582 | 582 | ||
583 | t += sprintf(t, "chb_fill_fifo() B-%d cnt %d", hscx, count); | 583 | t += sprintf(t, "%s() B-%d cnt %d", __func__, hscx, count); |
584 | QuickHex(t, ptr, count); | 584 | QuickHex(t, ptr, count); |
585 | debugl1(cs, "%s", bcs->blog); | 585 | debugl1(cs, "%s", bcs->blog); |
586 | } | 586 | } |
diff --git a/drivers/isdn/hisax/isdnl1.c b/drivers/isdn/hisax/isdnl1.c index 800095781bfb..a560842c0e48 100644 --- a/drivers/isdn/hisax/isdnl1.c +++ b/drivers/isdn/hisax/isdnl1.c | |||
@@ -867,7 +867,7 @@ l1_msg(struct IsdnCardState *cs, int pr, void *arg) { | |||
867 | break; | 867 | break; |
868 | default: | 868 | default: |
869 | if (cs->debug) | 869 | if (cs->debug) |
870 | debugl1(cs, "l1msg %04X unhandled", pr); | 870 | debugl1(cs, "%s %04X unhandled", __func__, pr); |
871 | break; | 871 | break; |
872 | } | 872 | } |
873 | st = st->next; | 873 | st = st->next; |
diff --git a/drivers/isdn/hisax/isdnl3.c b/drivers/isdn/hisax/isdnl3.c index 45b03840f716..c754706f83cd 100644 --- a/drivers/isdn/hisax/isdnl3.c +++ b/drivers/isdn/hisax/isdnl3.c | |||
@@ -153,7 +153,7 @@ void | |||
153 | newl3state(struct l3_process *pc, int state) | 153 | newl3state(struct l3_process *pc, int state) |
154 | { | 154 | { |
155 | if (pc->debug & L3_DEB_STATE) | 155 | if (pc->debug & L3_DEB_STATE) |
156 | l3_debug(pc->st, "newstate cr %d %d --> %d", | 156 | l3_debug(pc->st, "%s cr %d %d --> %d", __func__, |
157 | pc->callref & 0x7F, | 157 | pc->callref & 0x7F, |
158 | pc->state, state); | 158 | pc->state, state); |
159 | pc->state = state; | 159 | pc->state = state; |
diff --git a/drivers/isdn/hysdn/hycapi.c b/drivers/isdn/hysdn/hycapi.c index 00aad10507d8..93bae94314a6 100644 --- a/drivers/isdn/hysdn/hycapi.c +++ b/drivers/isdn/hysdn/hycapi.c | |||
@@ -501,7 +501,7 @@ static char *hycapi_procinfo(struct capi_ctr *ctrl) | |||
501 | { | 501 | { |
502 | hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata); | 502 | hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata); |
503 | #ifdef HYCAPI_PRINTFNAMES | 503 | #ifdef HYCAPI_PRINTFNAMES |
504 | printk(KERN_NOTICE "hycapi_proc_info\n"); | 504 | printk(KERN_NOTICE "%s\n", __func__); |
505 | #endif | 505 | #endif |
506 | if (!cinfo) | 506 | if (!cinfo) |
507 | return ""; | 507 | return ""; |
diff --git a/drivers/isdn/icn/icn.c b/drivers/isdn/icn/icn.c index 6a7447c304ac..358a574d9e8b 100644 --- a/drivers/isdn/icn/icn.c +++ b/drivers/isdn/icn/icn.c | |||
@@ -1609,7 +1609,7 @@ icn_setup(char *line) | |||
1609 | if (ints[0] > 1) | 1609 | if (ints[0] > 1) |
1610 | membase = (unsigned long)ints[2]; | 1610 | membase = (unsigned long)ints[2]; |
1611 | if (str && *str) { | 1611 | if (str && *str) { |
1612 | strcpy(sid, str); | 1612 | strlcpy(sid, str, sizeof(sid)); |
1613 | icn_id = sid; | 1613 | icn_id = sid; |
1614 | if ((p = strchr(sid, ','))) { | 1614 | if ((p = strchr(sid, ','))) { |
1615 | *p++ = 0; | 1615 | *p++ = 0; |
diff --git a/drivers/isdn/isdnloop/isdnloop.c b/drivers/isdn/isdnloop/isdnloop.c index 5a4da94aefb0..ef9c8e4f1fa2 100644 --- a/drivers/isdn/isdnloop/isdnloop.c +++ b/drivers/isdn/isdnloop/isdnloop.c | |||
@@ -59,7 +59,8 @@ isdnloop_bchan_send(isdnloop_card *card, int ch) | |||
59 | isdn_ctrl cmd; | 59 | isdn_ctrl cmd; |
60 | 60 | ||
61 | while (card->sndcount[ch]) { | 61 | while (card->sndcount[ch]) { |
62 | if ((skb = skb_dequeue(&card->bqueue[ch]))) { | 62 | skb = skb_dequeue(&card->bqueue[ch]); |
63 | if (skb) { | ||
63 | len = skb->len; | 64 | len = skb->len; |
64 | card->sndcount[ch] -= len; | 65 | card->sndcount[ch] -= len; |
65 | ack = *(skb->head); /* used as scratch area */ | 66 | ack = *(skb->head); /* used as scratch area */ |
@@ -149,8 +150,7 @@ typedef struct isdnloop_stat { | |||
149 | int action; | 150 | int action; |
150 | } isdnloop_stat; | 151 | } isdnloop_stat; |
151 | /* *INDENT-OFF* */ | 152 | /* *INDENT-OFF* */ |
152 | static isdnloop_stat isdnloop_stat_table[] = | 153 | static isdnloop_stat isdnloop_stat_table[] = { |
153 | { | ||
154 | {"BCON_", ISDN_STAT_BCONN, 1}, /* B-Channel connected */ | 154 | {"BCON_", ISDN_STAT_BCONN, 1}, /* B-Channel connected */ |
155 | {"BDIS_", ISDN_STAT_BHUP, 2}, /* B-Channel disconnected */ | 155 | {"BDIS_", ISDN_STAT_BHUP, 2}, /* B-Channel disconnected */ |
156 | {"DCON_", ISDN_STAT_DCONN, 0}, /* D-Channel connected */ | 156 | {"DCON_", ISDN_STAT_DCONN, 0}, /* D-Channel connected */ |
@@ -317,7 +317,8 @@ isdnloop_polldchan(unsigned long data) | |||
317 | u_char *p; | 317 | u_char *p; |
318 | isdn_ctrl cmd; | 318 | isdn_ctrl cmd; |
319 | 319 | ||
320 | if ((skb = skb_dequeue(&card->dqueue))) | 320 | skb = skb_dequeue(&card->dqueue); |
321 | if (skb) | ||
321 | avail = skb->len; | 322 | avail = skb->len; |
322 | else | 323 | else |
323 | avail = 0; | 324 | avail = 0; |
@@ -471,8 +472,8 @@ isdnloop_fake(isdnloop_card *card, char *s, int ch) | |||
471 | { | 472 | { |
472 | struct sk_buff *skb; | 473 | struct sk_buff *skb; |
473 | int len = strlen(s) + ((ch >= 0) ? 3 : 0); | 474 | int len = strlen(s) + ((ch >= 0) ? 3 : 0); |
474 | 475 | skb = dev_alloc_skb(len); | |
475 | if (!(skb = dev_alloc_skb(len))) { | 476 | if (!skb) { |
476 | printk(KERN_WARNING "isdnloop: Out of memory in isdnloop_fake\n"); | 477 | printk(KERN_WARNING "isdnloop: Out of memory in isdnloop_fake\n"); |
477 | return 1; | 478 | return 1; |
478 | } | 479 | } |
@@ -483,8 +484,7 @@ isdnloop_fake(isdnloop_card *card, char *s, int ch) | |||
483 | return 0; | 484 | return 0; |
484 | } | 485 | } |
485 | /* *INDENT-OFF* */ | 486 | /* *INDENT-OFF* */ |
486 | static isdnloop_stat isdnloop_cmd_table[] = | 487 | static isdnloop_stat isdnloop_cmd_table[] = { |
487 | { | ||
488 | {"BCON_R", 0, 1}, /* B-Channel connect */ | 488 | {"BCON_R", 0, 1}, /* B-Channel connect */ |
489 | {"BCON_I", 0, 17}, /* B-Channel connect ind */ | 489 | {"BCON_I", 0, 17}, /* B-Channel connect ind */ |
490 | {"BDIS_R", 0, 2}, /* B-Channel disconnect */ | 490 | {"BDIS_R", 0, 2}, /* B-Channel disconnect */ |
@@ -525,10 +525,8 @@ isdnloop_fake_err(isdnloop_card *card) | |||
525 | isdnloop_fake(card, "NAK", -1); | 525 | isdnloop_fake(card, "NAK", -1); |
526 | } | 526 | } |
527 | 527 | ||
528 | static u_char ctable_eu[] = | 528 | static u_char ctable_eu[] = {0x00, 0x11, 0x01, 0x12}; |
529 | {0x00, 0x11, 0x01, 0x12}; | 529 | static u_char ctable_1t[] = {0x00, 0x3b, 0x01, 0x3a}; |
530 | static u_char ctable_1t[] = | ||
531 | {0x00, 0x3b, 0x01, 0x3a}; | ||
532 | 530 | ||
533 | /* | 531 | /* |
534 | * Assemble a simplified cause message depending on the | 532 | * Assemble a simplified cause message depending on the |
@@ -554,9 +552,9 @@ isdnloop_unicause(isdnloop_card *card, int loc, int cau) | |||
554 | sprintf(buf, "%02X44", ctable_1t[cau]); | 552 | sprintf(buf, "%02X44", ctable_1t[cau]); |
555 | break; | 553 | break; |
556 | default: | 554 | default: |
557 | return ("0000"); | 555 | return "0000"; |
558 | } | 556 | } |
559 | return (buf); | 557 | return buf; |
560 | } | 558 | } |
561 | 559 | ||
562 | /* | 560 | /* |
@@ -647,10 +645,8 @@ isdnloop_kill_ctimer(isdnloop_card *card, int ch) | |||
647 | spin_unlock_irqrestore(&card->isdnloop_lock, flags); | 645 | spin_unlock_irqrestore(&card->isdnloop_lock, flags); |
648 | } | 646 | } |
649 | 647 | ||
650 | static u_char si2bit[] = | 648 | static u_char si2bit[] = {0, 1, 0, 0, 0, 2, 0, 4, 0, 0}; |
651 | {0, 1, 0, 0, 0, 2, 0, 4, 0, 0}; | 649 | static u_char bit2si[] = {1, 5, 7}; |
652 | static u_char bit2si[] = | ||
653 | {1, 5, 7}; | ||
654 | 650 | ||
655 | /* | 651 | /* |
656 | * Try finding a listener for an outgoing call. | 652 | * Try finding a listener for an outgoing call. |
@@ -754,17 +750,17 @@ isdnloop_vstphone(isdnloop_card *card, char *phone, int caller) | |||
754 | if (caller) { | 750 | if (caller) { |
755 | for (i = 0; i < 2; i++) | 751 | for (i = 0; i < 2; i++) |
756 | if (!(strcmp(card->s0num[i], phone))) | 752 | if (!(strcmp(card->s0num[i], phone))) |
757 | return (phone); | 753 | return phone; |
758 | return (card->s0num[0]); | 754 | return card->s0num[0]; |
759 | } | 755 | } |
760 | return (phone); | 756 | return phone; |
761 | break; | 757 | break; |
762 | case ISDN_PTYPE_1TR6: | 758 | case ISDN_PTYPE_1TR6: |
763 | if (caller) { | 759 | if (caller) { |
764 | sprintf(nphone, "%s%c", card->s0num[0], phone[0]); | 760 | sprintf(nphone, "%s%c", card->s0num[0], phone[0]); |
765 | return (nphone); | 761 | return nphone; |
766 | } else | 762 | } else |
767 | return (&phone[strlen(phone) - 1]); | 763 | return &phone[strlen(phone) - 1]; |
768 | break; | 764 | break; |
769 | } | 765 | } |
770 | return ""; | 766 | return ""; |
@@ -1148,14 +1144,14 @@ isdnloop_command(isdn_ctrl *c, isdnloop_card *card) | |||
1148 | case ISDNLOOP_IOCTL_STARTUP: | 1144 | case ISDNLOOP_IOCTL_STARTUP: |
1149 | if (!access_ok(VERIFY_READ, (void *) a, sizeof(isdnloop_sdef))) | 1145 | if (!access_ok(VERIFY_READ, (void *) a, sizeof(isdnloop_sdef))) |
1150 | return -EFAULT; | 1146 | return -EFAULT; |
1151 | return (isdnloop_start(card, (isdnloop_sdef *) a)); | 1147 | return isdnloop_start(card, (isdnloop_sdef *) a); |
1152 | break; | 1148 | break; |
1153 | case ISDNLOOP_IOCTL_ADDCARD: | 1149 | case ISDNLOOP_IOCTL_ADDCARD: |
1154 | if (copy_from_user((char *)&cdef, | 1150 | if (copy_from_user((char *)&cdef, |
1155 | (char *)a, | 1151 | (char *)a, |
1156 | sizeof(cdef))) | 1152 | sizeof(cdef))) |
1157 | return -EFAULT; | 1153 | return -EFAULT; |
1158 | return (isdnloop_addcard(cdef.id1)); | 1154 | return isdnloop_addcard(cdef.id1); |
1159 | break; | 1155 | break; |
1160 | case ISDNLOOP_IOCTL_LEASEDCFG: | 1156 | case ISDNLOOP_IOCTL_LEASEDCFG: |
1161 | if (a) { | 1157 | if (a) { |
@@ -1377,7 +1373,7 @@ if_command(isdn_ctrl *c) | |||
1377 | isdnloop_card *card = isdnloop_findcard(c->driver); | 1373 | isdnloop_card *card = isdnloop_findcard(c->driver); |
1378 | 1374 | ||
1379 | if (card) | 1375 | if (card) |
1380 | return (isdnloop_command(c, card)); | 1376 | return isdnloop_command(c, card); |
1381 | printk(KERN_ERR | 1377 | printk(KERN_ERR |
1382 | "isdnloop: if_command called with invalid driverId!\n"); | 1378 | "isdnloop: if_command called with invalid driverId!\n"); |
1383 | return -ENODEV; | 1379 | return -ENODEV; |
@@ -1391,7 +1387,7 @@ if_writecmd(const u_char __user *buf, int len, int id, int channel) | |||
1391 | if (card) { | 1387 | if (card) { |
1392 | if (!(card->flags & ISDNLOOP_FLAGS_RUNNING)) | 1388 | if (!(card->flags & ISDNLOOP_FLAGS_RUNNING)) |
1393 | return -ENODEV; | 1389 | return -ENODEV; |
1394 | return (isdnloop_writecmd(buf, len, 1, card)); | 1390 | return isdnloop_writecmd(buf, len, 1, card); |
1395 | } | 1391 | } |
1396 | printk(KERN_ERR | 1392 | printk(KERN_ERR |
1397 | "isdnloop: if_writecmd called with invalid driverId!\n"); | 1393 | "isdnloop: if_writecmd called with invalid driverId!\n"); |
@@ -1406,7 +1402,7 @@ if_readstatus(u_char __user *buf, int len, int id, int channel) | |||
1406 | if (card) { | 1402 | if (card) { |
1407 | if (!(card->flags & ISDNLOOP_FLAGS_RUNNING)) | 1403 | if (!(card->flags & ISDNLOOP_FLAGS_RUNNING)) |
1408 | return -ENODEV; | 1404 | return -ENODEV; |
1409 | return (isdnloop_readstatus(buf, len, card)); | 1405 | return isdnloop_readstatus(buf, len, card); |
1410 | } | 1406 | } |
1411 | printk(KERN_ERR | 1407 | printk(KERN_ERR |
1412 | "isdnloop: if_readstatus called with invalid driverId!\n"); | 1408 | "isdnloop: if_readstatus called with invalid driverId!\n"); |
@@ -1423,7 +1419,7 @@ if_sendbuf(int id, int channel, int ack, struct sk_buff *skb) | |||
1423 | return -ENODEV; | 1419 | return -ENODEV; |
1424 | /* ack request stored in skb scratch area */ | 1420 | /* ack request stored in skb scratch area */ |
1425 | *(skb->head) = ack; | 1421 | *(skb->head) = ack; |
1426 | return (isdnloop_sendbuf(channel, skb, card)); | 1422 | return isdnloop_sendbuf(channel, skb, card); |
1427 | } | 1423 | } |
1428 | printk(KERN_ERR | 1424 | printk(KERN_ERR |
1429 | "isdnloop: if_sendbuf called with invalid driverId!\n"); | 1425 | "isdnloop: if_sendbuf called with invalid driverId!\n"); |
@@ -1439,8 +1435,8 @@ isdnloop_initcard(char *id) | |||
1439 | { | 1435 | { |
1440 | isdnloop_card *card; | 1436 | isdnloop_card *card; |
1441 | int i; | 1437 | int i; |
1442 | 1438 | card = kzalloc(sizeof(isdnloop_card), GFP_KERNEL); | |
1443 | if (!(card = kzalloc(sizeof(isdnloop_card), GFP_KERNEL))) { | 1439 | if (!card) { |
1444 | printk(KERN_WARNING | 1440 | printk(KERN_WARNING |
1445 | "isdnloop: (%s) Could not allocate card-struct.\n", id); | 1441 | "isdnloop: (%s) Could not allocate card-struct.\n", id); |
1446 | return (isdnloop_card *) 0; | 1442 | return (isdnloop_card *) 0; |
@@ -1489,8 +1485,8 @@ static int | |||
1489 | isdnloop_addcard(char *id1) | 1485 | isdnloop_addcard(char *id1) |
1490 | { | 1486 | { |
1491 | isdnloop_card *card; | 1487 | isdnloop_card *card; |
1492 | 1488 | card = isdnloop_initcard(id1); | |
1493 | if (!(card = isdnloop_initcard(id1))) { | 1489 | if (!card) { |
1494 | return -EIO; | 1490 | return -EIO; |
1495 | } | 1491 | } |
1496 | printk(KERN_INFO | 1492 | printk(KERN_INFO |
@@ -1503,7 +1499,7 @@ static int __init | |||
1503 | isdnloop_init(void) | 1499 | isdnloop_init(void) |
1504 | { | 1500 | { |
1505 | if (isdnloop_id) | 1501 | if (isdnloop_id) |
1506 | return (isdnloop_addcard(isdnloop_id)); | 1502 | return isdnloop_addcard(isdnloop_id); |
1507 | 1503 | ||
1508 | return 0; | 1504 | return 0; |
1509 | } | 1505 | } |
diff --git a/drivers/isdn/mISDN/l1oip_codec.c b/drivers/isdn/mISDN/l1oip_codec.c index a601c8472220..9b033be11a5f 100644 --- a/drivers/isdn/mISDN/l1oip_codec.c +++ b/drivers/isdn/mISDN/l1oip_codec.c | |||
@@ -312,10 +312,8 @@ l1oip_ulaw_to_alaw(u8 *data, int len, u8 *result) | |||
312 | void | 312 | void |
313 | l1oip_4bit_free(void) | 313 | l1oip_4bit_free(void) |
314 | { | 314 | { |
315 | if (table_dec) | 315 | vfree(table_dec); |
316 | vfree(table_dec); | 316 | vfree(table_com); |
317 | if (table_com) | ||
318 | vfree(table_com); | ||
319 | table_com = NULL; | 317 | table_com = NULL; |
320 | table_dec = NULL; | 318 | table_dec = NULL; |
321 | } | 319 | } |
diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c index 1be82284cf9d..84b35925ee4d 100644 --- a/drivers/isdn/mISDN/socket.c +++ b/drivers/isdn/mISDN/socket.c | |||
@@ -163,7 +163,7 @@ mISDN_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
163 | memcpy(skb_push(skb, MISDN_HEADER_LEN), mISDN_HEAD_P(skb), | 163 | memcpy(skb_push(skb, MISDN_HEADER_LEN), mISDN_HEAD_P(skb), |
164 | MISDN_HEADER_LEN); | 164 | MISDN_HEADER_LEN); |
165 | 165 | ||
166 | err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); | 166 | err = skb_copy_datagram_msg(skb, 0, msg, copied); |
167 | 167 | ||
168 | mISDN_sock_cmsg(sk, msg, skb); | 168 | mISDN_sock_cmsg(sk, msg, skb); |
169 | 169 | ||
@@ -203,7 +203,7 @@ mISDN_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
203 | if (!skb) | 203 | if (!skb) |
204 | goto done; | 204 | goto done; |
205 | 205 | ||
206 | if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) { | 206 | if (memcpy_from_msg(skb_put(skb, len), msg, len)) { |
207 | err = -EFAULT; | 207 | err = -EFAULT; |
208 | goto done; | 208 | goto done; |
209 | } | 209 | } |
diff --git a/drivers/isdn/pcbit/layer2.c b/drivers/isdn/pcbit/layer2.c index 42ecfef80132..46e1240ae074 100644 --- a/drivers/isdn/pcbit/layer2.c +++ b/drivers/isdn/pcbit/layer2.c | |||
@@ -85,7 +85,6 @@ pcbit_l2_write(struct pcbit_dev *dev, ulong msg, ushort refnum, | |||
85 | } | 85 | } |
86 | if ((frame = kmalloc(sizeof(struct frame_buf), | 86 | if ((frame = kmalloc(sizeof(struct frame_buf), |
87 | GFP_ATOMIC)) == NULL) { | 87 | GFP_ATOMIC)) == NULL) { |
88 | printk(KERN_WARNING "pcbit_2_write: kmalloc failed\n"); | ||
89 | dev_kfree_skb(skb); | 88 | dev_kfree_skb(skb); |
90 | return -1; | 89 | return -1; |
91 | } | 90 | } |
diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c index d6f19b168e8a..3597ef47b28a 100644 --- a/drivers/isdn/sc/init.c +++ b/drivers/isdn/sc/init.c | |||
@@ -30,7 +30,7 @@ static const char *boardname[] = { "DataCommute/BRI", "DataCommute/PRI", "TeleCo | |||
30 | static unsigned int io[] = {0, 0, 0, 0}; | 30 | static unsigned int io[] = {0, 0, 0, 0}; |
31 | static unsigned char irq[] = {0, 0, 0, 0}; | 31 | static unsigned char irq[] = {0, 0, 0, 0}; |
32 | static unsigned long ram[] = {0, 0, 0, 0}; | 32 | static unsigned long ram[] = {0, 0, 0, 0}; |
33 | static bool do_reset = 0; | 33 | static bool do_reset; |
34 | 34 | ||
35 | module_param_array(io, int, NULL, 0); | 35 | module_param_array(io, int, NULL, 0); |
36 | module_param_array(irq, byte, NULL, 0); | 36 | module_param_array(irq, byte, NULL, 0); |
@@ -104,13 +104,12 @@ static int __init sc_init(void) | |||
104 | io[b] + 0x400 * EXP_PAGE0); | 104 | io[b] + 0x400 * EXP_PAGE0); |
105 | continue; | 105 | continue; |
106 | } | 106 | } |
107 | } | 107 | } else { |
108 | else { | ||
109 | /* | 108 | /* |
110 | * Yes, probe for I/O Base | 109 | * Yes, probe for I/O Base |
111 | */ | 110 | */ |
112 | if (probe_exhasted) { | 111 | if (probe_exhasted) { |
113 | pr_debug("All probe addresses exhasted, skipping\n"); | 112 | pr_debug("All probe addresses exhausted, skipping\n"); |
114 | continue; | 113 | continue; |
115 | } | 114 | } |
116 | pr_debug("Probing for I/O...\n"); | 115 | pr_debug("Probing for I/O...\n"); |
@@ -169,8 +168,7 @@ static int __init sc_init(void) | |||
169 | model = identify_board(ram[b], io[b]); | 168 | model = identify_board(ram[b], io[b]); |
170 | release_region(ram[b], SRAM_PAGESIZE); | 169 | release_region(ram[b], SRAM_PAGESIZE); |
171 | } | 170 | } |
172 | } | 171 | } else { |
173 | else { | ||
174 | /* | 172 | /* |
175 | * Yes, probe for free RAM and look for | 173 | * Yes, probe for free RAM and look for |
176 | * a signature and id the board model | 174 | * a signature and id the board model |
@@ -187,7 +185,7 @@ static int __init sc_init(void) | |||
187 | ram[b] = i; | 185 | ram[b] = i; |
188 | break; | 186 | break; |
189 | } | 187 | } |
190 | pr_debug(" Unidentifed or inaccessible\n"); | 188 | pr_debug(" Unidentified or inaccessible\n"); |
191 | continue; | 189 | continue; |
192 | } | 190 | } |
193 | pr_debug(" request failed\n"); | 191 | pr_debug(" request failed\n"); |
@@ -337,8 +335,7 @@ static int __init sc_init(void) | |||
337 | sc_adapter[cinst]->interrupt = irq[b]; | 335 | sc_adapter[cinst]->interrupt = irq[b]; |
338 | if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler, | 336 | if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler, |
339 | 0, interface->id, | 337 | 0, interface->id, |
340 | (void *)(unsigned long) cinst)) | 338 | (void *)(unsigned long) cinst)) { |
341 | { | ||
342 | kfree(sc_adapter[cinst]->channel); | 339 | kfree(sc_adapter[cinst]->channel); |
343 | indicate_status(cinst, ISDN_STAT_UNLOAD, 0, NULL); /* Fix me */ | 340 | indicate_status(cinst, ISDN_STAT_UNLOAD, 0, NULL); /* Fix me */ |
344 | kfree(interface); | 341 | kfree(interface); |