]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/isdn/hysdn/hycapi.c
Merge branch 'locks' of git://linux-nfs.org/~bfields/linux
[linux-2.6-omap-h63xx.git] / drivers / isdn / hysdn / hycapi.c
index 6bac43cc91bdb2b9284c6613c9a35a3cf96acb63..f85450146bdcb8e18e8c192199c086f063c1efa1 100644 (file)
@@ -398,8 +398,9 @@ static u16 hycapi_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
                        _len = CAPIMSG_LEN(skb->data);
                        if (_len > 22) {
                                _len2 = _len - 22;
-                               memcpy(msghead, skb->data, 22);
-                               memcpy(skb->data + _len2, msghead, 22);
+                               skb_copy_from_linear_data(skb, msghead, 22);
+                               skb_copy_to_linear_data_offset(skb, _len2,
+                                                              msghead, 22);
                                skb_pull(skb, _len2);
                                CAPIMSG_SETLEN(skb->data, 22);
                                retval = capilib_data_b3_req(&cinfo->ncci_head,
@@ -745,12 +746,11 @@ hycapi_capi_create(hysdn_card *card)
                return 1;
        }
        if (!card->hyctrlinfo) {
-               cinfo = (hycapictrl_info *) kmalloc(sizeof(hycapictrl_info), GFP_ATOMIC);
+               cinfo = kzalloc(sizeof(hycapictrl_info), GFP_ATOMIC);
                if (!cinfo) {
                        printk(KERN_WARNING "HYSDN: no memory for capi-ctrl.\n");
                        return -ENOMEM;
                }
-               memset(cinfo, 0, sizeof(hycapictrl_info));
                card->hyctrlinfo = cinfo;
                cinfo->card = card;
                spin_lock_init(&cinfo->lock);