···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···119119120120 read_unlock(&bt_proto_lock);121121122122- return err; 122122+ return err;123123}124124125125void bt_sock_link(struct bt_sock_list *l, struct sock *sk)···265265 if (sk->sk_shutdown == SHUTDOWN_MASK)266266 mask |= POLLHUP;267267268268- if (!skb_queue_empty(&sk->sk_receive_queue) || 268268+ if (!skb_queue_empty(&sk->sk_receive_queue) ||269269 (sk->sk_shutdown & RCV_SHUTDOWN))270270 mask |= POLLIN | POLLRDNORM;271271
+9-9
net/bluetooth/bnep/bnep.h
···11/*22 BNEP protocol definition for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>44-44+55 This program is free software; you can redistribute it and/or modify66 it under the terms of the GNU General Public License, version 2, as77 published by the Free Software Foundation.···6060// Extension types6161#define BNEP_EXT_CONTROL 0x0062626363-// Response messages 6363+// Response messages6464#define BNEP_SUCCESS 0x0065656666#define BNEP_CONN_INVALID_DST 0x01···8181#define BNEP_CONNECT_TO 158282#define BNEP_FILTER_TO 1583838484-// Headers 8484+// Headers8585#define BNEP_TYPE_MASK 0x7f8686#define BNEP_EXT_HEADER 0x808787···132132struct bnep_conninfo {133133 __u32 flags;134134 __u16 role;135135- __u16 state; 135135+ __u16 state;136136 __u8 dst[ETH_ALEN];137137 char device[16];138138};···155155// BNEP sessions156156struct bnep_session {157157 struct list_head list;158158-158158+159159 unsigned int role;160160- unsigned long state;161161- unsigned long flags;160160+ unsigned long state;161161+ unsigned long flags;162162 atomic_t killed;163163164164 struct ethhdr eh;···166166167167 struct bnep_proto_filter proto_filter[BNEP_MAX_PROTO_FILTERS];168168 u64 mc_filter;169169-169169+170170 struct socket *sock;171171 struct net_device *dev;172172 struct net_device_stats stats;···178178179179static inline int bnep_mc_hash(__u8 *addr)180180{181181- return (crc32_be(~0, addr, ETH_ALEN) >> 26);181181+ return (crc32_be(~0, addr, ETH_ALEN) >> 26);182182}183183184184#endif
+26-26
net/bluetooth/bnep/core.c
···11-/* 11+/*22 BNEP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2001-2002 Inventel Systemes44 Written 2001-2002 by···1515 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1616 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1717 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1818- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1919- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 2020- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1818+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1919+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN2020+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF2121 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.22222323- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2424- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2323+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2424+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2525 SOFTWARE IS DISCLAIMED.2626*/27272828/*2929 * $Id: core.c,v 1.20 2002/08/04 21:23:58 maxk Exp $3030- */ 3030+ */31313232#include <linux/module.h>3333···7474 BT_DBG("");75757676 list_for_each(p, &bnep_session_list) {7777- s = list_entry(p, struct bnep_session, list); 7777+ s = list_entry(p, struct bnep_session, list);7878 if (!compare_ether_addr(dst, s->eh.h_source))7979 return s;8080 }···8787 by the socket layer which has to hold the refference to this module.8888 */8989 __module_get(THIS_MODULE);9090- list_add(&s->list, &bnep_session_list); 9090+ list_add(&s->list, &bnep_session_list);9191}92929393static void __bnep_unlink_session(struct bnep_session *s)···203203204204 memcpy(a1, data, ETH_ALEN); data += ETH_ALEN;205205 a2 = data; data += ETH_ALEN;206206-206206+207207 BT_DBG("mc filter %s -> %s",208208 batostr((void *) a1), batostr((void *) a2));209209···277277 }278278279279 BT_DBG("type 0x%x len %d", h->type, h->len);280280-280280+281281 switch (h->type & BNEP_TYPE_MASK) {282282 case BNEP_EXT_CONTROL:283283 bnep_rx_control(s, skb->data, skb->len);···293293 break;294294 }295295 } while (!err && (h->type & BNEP_EXT_HEADER));296296-296296+297297 return err;298298}299299···319319320320 if ((type & BNEP_TYPE_MASK) > BNEP_RX_TYPES)321321 goto badframe;322322-322322+323323 if ((type & BNEP_TYPE_MASK) == BNEP_CONTROL) {324324 bnep_rx_control(s, skb->data, skb->len);325325 kfree_skb(skb);···345345 goto badframe;346346 s->eh.h_proto = get_unaligned((__be16 *) (skb->data - 2));347347 }348348-348348+349349 /* We have to alloc new skb and copy data here :(. Because original skb350350 * may not be modified and because of the alignment requirements. */351351 nskb = alloc_skb(2 + ETH_HLEN + skb->len, GFP_KERNEL);···361361 case BNEP_COMPRESSED:362362 memcpy(__skb_put(nskb, ETH_HLEN), &s->eh, ETH_HLEN);363363 break;364364-364364+365365 case BNEP_COMPRESSED_SRC_ONLY:366366 memcpy(__skb_put(nskb, ETH_ALEN), s->eh.h_dest, ETH_ALEN);367367 memcpy(__skb_put(nskb, ETH_ALEN), skb->mac.raw, ETH_ALEN);···381381382382 memcpy(__skb_put(nskb, skb->len), skb->data, skb->len);383383 kfree_skb(skb);384384-384384+385385 s->stats.rx_packets++;386386 nskb->dev = dev;387387 nskb->ip_summed = CHECKSUM_NONE;···435435 iv[il++] = (struct kvec) { eh->h_source, ETH_ALEN };436436 len += ETH_ALEN;437437 break;438438-438438+439439 case BNEP_COMPRESSED_DST_ONLY:440440 iv[il++] = (struct kvec) { eh->h_dest, ETH_ALEN };441441 len += ETH_ALEN;···445445send:446446 iv[il++] = (struct kvec) { skb->data, skb->len };447447 len += skb->len;448448-448448+449449 /* FIXME: linearize skb */450450 {451451 len = kernel_sendmsg(sock, &s->msg, iv, il, len);···471471472472 BT_DBG("");473473474474- daemonize("kbnepd %s", dev->name);474474+ daemonize("kbnepd %s", dev->name);475475 set_user_nice(current, -15);476476 current->flags |= PF_NOFREEZE;477477···488488489489 if (sk->sk_state != BT_CONNECTED)490490 break;491491-491491+492492 // TX493493 while ((skb = skb_dequeue(&sk->sk_write_queue)))494494 if (bnep_tx_frame(s, skb))495495 break;496496 netif_wake_queue(dev);497497-497497+498498 schedule();499499 }500500 set_current_state(TASK_RUNNING);···573573 s->sock = sock;574574 s->role = req->role;575575 s->state = BT_CONNECTED;576576-576576+577577 s->msg.msg_flags = MSG_NOSIGNAL;578578579579#ifdef CONFIG_BT_BNEP_MC_FILTER···594594 }595595596596 __bnep_link_session(s);597597-597597+598598 err = kernel_thread(bnep_session, s, CLONE_KERNEL);599599 if (err < 0) {600600 /* Session thread start failed, gotta cleanup. */···627627 /* Wakeup user-space which is polling for socket errors.628628 * This is temporary hack untill we have shutdown in L2CAP */629629 s->sock->sk->sk_err = EUNATCH;630630-630630+631631 /* Kill session thread */632632 atomic_inc(&s->killed);633633 wake_up_interruptible(s->sock->sk->sk_sleep);···661661 s = list_entry(p, struct bnep_session, list);662662663663 __bnep_copy_ci(&ci, s);664664-664664+665665 if (copy_to_user(req->ci, &ci, sizeof(ci))) {666666 err = -EFAULT;667667 break;···696696}697697698698static int __init bnep_init(void)699699-{ 699699+{700700 char flt[50] = "";701701702702 l2cap_load();
+17-17
net/bluetooth/bnep/netdev.c
···11-/* 11+/*22 BNEP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2001-2002 Inventel Systemes44 Written 2001-2002 by···1515 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1616 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1717 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1818- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1919- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 2020- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1818+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1919+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN2020+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF2121 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.22222323- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2424- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2323+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2424+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2525 SOFTWARE IS DISCLAIMED.2626*/27272828/*2929 * $Id: netdev.c,v 1.8 2002/08/04 21:23:58 maxk Exp $3030- */ 3030+ */31313232#include <linux/module.h>3333···9494 r->type = BNEP_CONTROL;9595 r->ctrl = BNEP_FILTER_MULTI_ADDR_SET;96969797- if (dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) {9797+ if (dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) {9898 u8 start[ETH_ALEN] = { 0x01 };9999100100 /* Request all addresses */···102102 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);103103 r->len = htons(ETH_ALEN * 2);104104 } else {105105- struct dev_mc_list *dmi = dev->mc_list;105105+ struct dev_mc_list *dmi = dev->mc_list;106106 int i, len = skb->len;107107108108 if (dev->flags & IFF_BROADCAST) {109109 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);110110 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);111111- } 112112-111111+ }112112+113113 /* FIXME: We should group addresses here. */114114115115 for (i = 0; i < dev->mc_count && i < BNEP_MAX_MULTICAST_FILTERS; i++) {···159159{160160 struct ethhdr *eh = (void *) skb->data;161161 u16 proto = ntohs(eh->h_proto);162162-162162+163163 if (proto >= 1536)164164 return proto;165165-165165+166166 if (get_unaligned((__be16 *) skb->data) == htons(0xFFFF))167167 return ETH_P_802_3;168168-168168+169169 return ETH_P_802_2;170170}171171···174174 u16 proto = bnep_net_eth_proto(skb);175175 struct bnep_proto_filter *f = s->proto_filter;176176 int i;177177-177177+178178 for (i = 0; i < BNEP_MAX_PROTO_FILTERS && f[i].end; i++) {179179 if (proto >= f[i].start && proto <= f[i].end)180180 return 0;···198198 return 0;199199 }200200#endif201201-201201+202202#ifdef CONFIG_BT_BNEP_PROTO_FILTER203203 if (bnep_net_proto_filter(skb, s)) {204204 kfree_skb(skb);205205 return 0;206206 }207207#endif208208-208208+209209 /*210210 * We cannot send L2CAP packets from here as we are potentially in a bh.211211 * So we have to queue them and wake up session thread which is sleeping
+13-13
net/bluetooth/bnep/sock.c
···11-/* 11+/*22 BNEP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2001-2002 Inventel Systemes44 Written 2001-2002 by···1414 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1515 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1616 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1717- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1818- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1919- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1717+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1818+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1919+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF2020 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.21212222- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2323- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2222+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2323+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2424 SOFTWARE IS DISCLAIMED.2525*/26262727/*2828 * $Id: sock.c,v 1.4 2002/08/04 21:23:58 maxk Exp $2929- */ 2929+ */30303131#include <linux/module.h>3232···89899090 if (copy_from_user(&ca, argp, sizeof(ca)))9191 return -EFAULT;9292-9292+9393 nsock = sockfd_lookup(ca.sock, &err);9494 if (!nsock)9595 return err;···101101102102 err = bnep_add_connection(&ca, nsock);103103 if (!err) {104104- if (copy_to_user(argp, &ca, sizeof(ca)))104104+ if (copy_to_user(argp, &ca, sizeof(ca)))105105 err = -EFAULT;106106 } else107107 fput(nsock->file);108108109109 return err;110110-110110+111111 case BNEPCONNDEL:112112 if (!capable(CAP_NET_ADMIN))113113 return -EACCES;114114115115 if (copy_from_user(&cd, argp, sizeof(cd)))116116 return -EFAULT;117117-117117+118118 return bnep_del_connection(&cd);119119120120 case BNEPGETCONNLIST:···123123124124 if (cl.cnum <= 0)125125 return -EINVAL;126126-126126+127127 err = bnep_get_connlist(&cl);128128 if (!err && copy_to_user(argp, &cl, sizeof(cl)))129129 return -EFAULT;···163163164164 if (cl.cnum <= 0)165165 return -EINVAL;166166-166166+167167 err = bnep_get_connlist(&cl);168168169169 if (!err && put_user(cl.cnum, (uint32_t __user *) arg))
+7-7
net/bluetooth/cmtp/capi.c
···11-/* 11+/*22 CMTP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222···563563564564 ret = wait_event_interruptible_timeout(session->wait,565565 session->ncontroller, CMTP_INTEROP_TIMEOUT);566566-566566+567567 BT_INFO("Found %d CAPI controller(s) on device %s", session->ncontroller, session->name);568568569569 if (!ret)
+6-6
net/bluetooth/cmtp/cmtp.h
···11-/* 11+/*22 CMTP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222
+7-7
net/bluetooth/cmtp/core.c
···11-/* 11+/*22 CMTP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222···336336 baswap(&dst, &bt_sk(sock->sk)->dst);337337338338 session = kzalloc(sizeof(struct cmtp_session), GFP_KERNEL);339339- if (!session) 339339+ if (!session)340340 return -ENOMEM;341341342342 down_write(&cmtp_session_sem);
+7-7
net/bluetooth/cmtp/sock.c
···11-/* 11+/*22 CMTP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222···154154155155 if (cl.cnum <= 0)156156 return -EINVAL;157157-157157+158158 err = cmtp_get_connlist(&cl);159159160160 if (!err && put_user(cl.cnum, (uint32_t __user *) arg))
+10-10
net/bluetooth/hci_conn.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···146146 case BT_CONNECT:147147 hci_acl_connect_cancel(conn);148148 break;149149- case BT_CONNECTED:149149+ case BT_CONNECTED:150150 hci_acl_disconn(conn, 0x13);151151 break;152152 default:···272272 if (!test_bit(HCI_UP, &d->flags) || test_bit(HCI_RAW, &d->flags))273273 continue;274274275275- /* Simple routing: 275275+ /* Simple routing:276276 * No source address - find interface with bdaddr != dst277277 * Source address - find interface with bdaddr == src278278 */···328328329329 hci_conn_hold(sco);330330331331- if (acl->state == BT_CONNECTED && 331331+ if (acl->state == BT_CONNECTED &&332332 (sco->state == BT_OPEN || sco->state == BT_CLOSED))333333 hci_add_sco(sco, acl->handle);334334···370370 if (hci_conn_auth(conn)) {371371 struct hci_cp_set_conn_encrypt cp;372372 cp.handle = __cpu_to_le16(conn->handle);373373- cp.encrypt = 1; 373373+ cp.encrypt = 1;374374 hci_send_cmd(conn->hdev, OGF_LINK_CTL, OCF_SET_CONN_ENCRYPT, sizeof(cp), &cp);375375 }376376 return 0;
+18-18
net/bluetooth/hci_core.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···116116}117117118118/* Execute request and wait for completion. */119119-static int __hci_request(struct hci_dev *hdev, void (*req)(struct hci_dev *hdev, unsigned long opt), 119119+static int __hci_request(struct hci_dev *hdev, void (*req)(struct hci_dev *hdev, unsigned long opt),120120 unsigned long opt, __u32 timeout)121121{122122 DECLARE_WAITQUEUE(wait, current);···278278 hci_send_cmd(hdev, OGF_HOST_CTL, OCF_WRITE_ENCRYPT_MODE, 1, &encrypt);279279}280280281281-/* Get HCI device by index. 281281+/* Get HCI device by index.282282 * Device is held on return. */283283struct hci_dev *hci_dev_get(int index)284284{···405405 return -ENODEV;406406407407 hci_dev_lock_bh(hdev);408408- if (inquiry_cache_age(hdev) > INQUIRY_CACHE_AGE_MAX || 408408+ if (inquiry_cache_age(hdev) > INQUIRY_CACHE_AGE_MAX ||409409 inquiry_cache_empty(hdev) ||410410 ir.flags & IREQ_CACHE_FLUSH) {411411 inquiry_cache_flush(hdev);···439439 if (copy_to_user(ptr, buf, sizeof(struct inquiry_info) *440440 ir.num_rsp))441441 err = -EFAULT;442442- } else 442442+ } else443443 err = -EFAULT;444444445445 kfree(buf);···491491 hci_dev_hold(hdev);492492 set_bit(HCI_UP, &hdev->flags);493493 hci_notify(hdev, HCI_DEV_UP);494494- } else { 494494+ } else {495495 /* Init failed, cleanup */496496 tasklet_kill(&hdev->rx_task);497497 tasklet_kill(&hdev->tx_task);···619619 if (hdev->flush)620620 hdev->flush(hdev);621621622622- atomic_set(&hdev->cmd_cnt, 1); 622622+ atomic_set(&hdev->cmd_cnt, 1);623623 hdev->acl_cnt = 0; hdev->sco_cnt = 0;624624625625 if (!test_bit(HCI_RAW, &hdev->flags))···841841 break;842842 head = p; id++;843843 }844844-844844+845845 sprintf(hdev->name, "hci%d", id);846846 hdev->id = id;847847 list_add(&hdev->list, head);···11091109 __skb_queue_tail(&conn->data_q, skb);11101110 do {11111111 skb = list; list = list->next;11121112-11121112+11131113 skb->dev = (void *) hdev;11141114 bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT;11151115 hci_add_acl_hdr(skb, conn->handle, flags | ACL_CONT);···11641164 int num = 0, min = ~0;11651165 struct list_head *p;1166116611671167- /* We don't have to lock device here. Connections are always 11671167+ /* We don't have to lock device here. Connections are always11681168 * added and removed with TX task disabled. */11691169 list_for_each(p, &h->list) {11701170 struct hci_conn *c;···13061306 hci_dev_lock(hdev);13071307 conn = hci_conn_hash_lookup_handle(hdev, handle);13081308 hci_dev_unlock(hdev);13091309-13091309+13101310 if (conn) {13111311 register struct hci_proto *hp;13121312···13181318 return;13191319 }13201320 } else {13211321- BT_ERR("%s ACL packet for unknown connection handle %d", 13211321+ BT_ERR("%s ACL packet for unknown connection handle %d",13221322 hdev->name, handle);13231323 }13241324···13531353 return;13541354 }13551355 } else {13561356- BT_ERR("%s SCO packet for unknown connection handle %d", 13561356+ BT_ERR("%s SCO packet for unknown connection handle %d",13571357 hdev->name, handle);13581358 }13591359
+13-13
net/bluetooth/hci_event.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···100100 BT_DBG("%s ocf 0x%x", hdev->name, ocf);101101102102 switch (ocf) {103103- case OCF_ROLE_DISCOVERY: 103103+ case OCF_ROLE_DISCOVERY:104104 rd = (void *) skb->data;105105106106 if (rd->status)···141141 break;142142143143 default:144144- BT_DBG("%s: Command complete: ogf LINK_POLICY ocf %x", 144144+ BT_DBG("%s: Command complete: ogf LINK_POLICY ocf %x",145145 hdev->name, ocf);146146 break;147147 }···237237 if (!status) {238238 clear_bit(HCI_PSCAN, &hdev->flags);239239 clear_bit(HCI_ISCAN, &hdev->flags);240240- if (param & SCAN_INQUIRY) 240240+ if (param & SCAN_INQUIRY)241241 set_bit(HCI_ISCAN, &hdev->flags);242242243243- if (param & SCAN_PAGE) 243243+ if (param & SCAN_PAGE)244244 set_bit(HCI_PSCAN, &hdev->flags);245245 }246246 hci_req_complete(hdev, status);···343343344344 memcpy(hdev->features, lf->features, sizeof(hdev->features));345345346346- /* Adjust default settings according to features 346346+ /* Adjust default settings according to features347347 * supported by device. */348348 if (hdev->features[0] & LMP_3SLOT)349349 hdev->pkt_type |= (HCI_DM3 | HCI_DH3);···491491 break;492492493493 default:494494- BT_DBG("%s Command status: ogf LINK_CTL ocf %x status %d", 494494+ BT_DBG("%s Command status: ogf LINK_CTL ocf %x status %d",495495 hdev->name, ocf, status);496496 break;497497 }···793793 if (!conn->out) {794794 struct hci_cp_change_conn_ptype cp;795795 cp.handle = ev->handle;796796- cp.pkt_type = (conn->type == ACL_LINK) ? 796796+ cp.pkt_type = (conn->type == ACL_LINK) ?797797 __cpu_to_le16(hdev->pkt_type & ACL_PTYPE_MASK):798798 __cpu_to_le16(hdev->pkt_type & SCO_PTYPE_MASK);799799
+14-14
net/bluetooth/hci_sock.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···170170 return 0;171171}172172173173-/* Ioctls that require bound socket */ 173173+/* Ioctls that require bound socket */174174static inline int hci_sock_bound_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg)175175{176176 struct hci_dev *hdev = hci_pi(sk)->hdev;···348348 put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, sizeof(tv), &tv);349349 }350350}351351-352352-static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock, 351351+352352+static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock,353353 struct msghdr *msg, size_t len, int flags)354354{355355 int noblock = flags & MSG_DONTWAIT;···386386 return err ? : copied;387387}388388389389-static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock, 389389+static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,390390 struct msghdr *msg, size_t len)391391{392392 struct sock *sk = sock->sk;···520520 *((u32 *) f->event_mask + 0) = uf.event_mask[0];521521 *((u32 *) f->event_mask + 1) = uf.event_mask[1];522522 }523523- break; 523523+ break;524524525525 default:526526 err = -ENOPROTOOPT;···535535{536536 struct hci_ufilter uf;537537 struct sock *sk = sock->sk;538538- int len, opt; 538538+ int len, opt;539539540540 if (get_user(len, optlen))541541 return -EFAULT;···544544 case HCI_DATA_DIR:545545 if (hci_pi(sk)->cmsg_mask & HCI_CMSG_DIR)546546 opt = 1;547547- else 547547+ else548548 opt = 0;549549550550 if (put_user(opt, optval))···554554 case HCI_TIME_STAMP:555555 if (hci_pi(sk)->cmsg_mask & HCI_CMSG_TSTAMP)556556 opt = 1;557557- else 557557+ else558558 opt = 0;559559560560 if (put_user(opt, optval))
+7-7
net/bluetooth/hidp/core.c
···11-/* 11+/*22 HIDP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222···293293294294 case HIDP_HSHK_ERR_FATAL:295295 /* Device requests a reboot, as this is the only way this error296296- * can be recovered. */296296+ * can be recovered. */297297 __hidp_send_ctrl_message(session,298298 HIDP_TRANS_HID_CONTROL | HIDP_CTRL_SOFT_RESET, NULL, 0);299299 break;
+6-6
net/bluetooth/hidp/hidp.h
···11-/* 11+/*22 HIDP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222
+7-7
net/bluetooth/hidp/sock.c
···11-/* 11+/*22 HIDP implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>44···1010 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1111 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1212 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1313- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1414- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1515- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1313+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1414+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1515+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1616 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.17171818- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 1919- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1818+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,1919+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2020 SOFTWARE IS DISCLAIMED.2121*/2222···206206 put_user(ca.idle_to, &uca->idle_to) ||207207 copy_to_user(&uca->name[0], &ca.name[0], 128))208208 return -EFAULT;209209-209209+210210 arg = (unsigned long) uca;211211212212 /* Fall through. We don't actually write back any _changes_
+13-13
net/bluetooth/l2cap.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···227227 bt_accept_enqueue(parent, sk);228228}229229230230-/* Delete channel. 230230+/* Delete channel.231231 * Must be called on the locked socket. */232232static void l2cap_chan_del(struct sock *sk, int err)233233{···238238239239 BT_DBG("sk %p, conn %p, err %d", sk, conn, err);240240241241- if (conn) { 241241+ if (conn) {242242 /* Unlink from channel list */243243 l2cap_chan_unlink(&conn->chan_list, sk);244244 l2cap_pi(sk)->conn = NULL;···590590 err = -EACCES;591591 goto done;592592 }593593-593593+594594 write_lock_bh(&l2cap_sk_list.lock);595595596596 if (la->l2_psm && __l2cap_get_sock_by_addr(la->l2_psm, &la->l2_bdaddr)) {···890890 *frag = bt_skb_send_alloc(sk, count, msg->msg_flags & MSG_DONTWAIT, &err);891891 if (!*frag)892892 goto fail;893893-893893+894894 if (memcpy_fromiovec(skb_put(*frag, count), msg->msg_iov, count)) {895895 err = -EFAULT;896896 goto fail;···1267126712681268static inline void l2cap_parse_conf_req(struct sock *sk, void *data, int len)12691269{12701270- int type, hint, olen; 12701270+ int type, hint, olen;12711271 unsigned long val;12721272 void *ptr = data;12731273···1414141414151415 /* Check for backlog size */14161416 if (sk_acceptq_is_full(parent)) {14171417- BT_DBG("backlog full %d", parent->sk_ack_backlog); 14171417+ BT_DBG("backlog full %d", parent->sk_ack_backlog);14181418 goto response;14191419 }14201420···16071607 goto done;16081608 }1609160916101610- default: 16101610+ default:16111611 sk->sk_state = BT_DISCONN;16121612 sk->sk_err = ECONNRESET;16131613 l2cap_sock_set_timer(sk, HZ * 5);
+6-6
net/bluetooth/lib.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424
+28-28
net/bluetooth/rfcomm/core.c
···11-/* 11+/*22 RFCOMM implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>44 Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>···1111 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1212 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1313 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1414- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1515- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1616- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1414+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1515+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1616+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1717 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.18181919- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2020- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1919+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2020+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2121 SOFTWARE IS DISCLAIMED.2222*/2323···134134/* ---- RFCOMM FCS computation ---- */135135136136/* reversed, 8-bit, poly=0x07 */137137-static unsigned char rfcomm_crc_table[256] = { 137137+static unsigned char rfcomm_crc_table[256] = {138138 0x00, 0x91, 0xe3, 0x72, 0x07, 0x96, 0xe4, 0x75,139139 0x0e, 0x9f, 0xed, 0x7c, 0x09, 0x98, 0xea, 0x7b,140140 0x1c, 0x8d, 0xff, 0x6e, 0x1b, 0x8a, 0xf8, 0x69,···179179/* CRC on 2 bytes */180180#define __crc(data) (rfcomm_crc_table[rfcomm_crc_table[0xff ^ data[0]] ^ data[1]])181181182182-/* FCS on 2 bytes */ 182182+/* FCS on 2 bytes */183183static inline u8 __fcs(u8 *data)184184{185185 return (0xff - __crc(data));186186}187187188188-/* FCS on 3 bytes */ 188188+/* FCS on 3 bytes */189189static inline u8 __fcs2(u8 *data)190190{191191 return (0xff - rfcomm_crc_table[__crc(data) ^ data[2]]);···288288 atomic_set(&d->refcnt, 1);289289290290 rfcomm_dlc_clear_state(d);291291-291291+292292 BT_DBG("%p", d);293293294294 return d;···345345 int err = 0;346346 u8 dlci;347347348348- BT_DBG("dlc %p state %ld %s %s channel %d", 348348+ BT_DBG("dlc %p state %ld %s %s channel %d",349349 d, d->state, batostr(src), batostr(dst), channel);350350351351 if (channel < 1 || channel > 30)···489489 rfcomm_schedule(RFCOMM_SCHED_TX);490490}491491492492-/* 492492+/*493493 Set/get modem status functions use _local_ status i.e. what we report494494 to the other side.495495 Remote status is provided by dlc->modem_status() callback.496496 */497497int rfcomm_dlc_set_modem_status(struct rfcomm_dlc *d, u8 v24_sig)498498{499499- BT_DBG("dlc %p state %ld v24_sig 0x%x", 499499+ BT_DBG("dlc %p state %ld v24_sig 0x%x",500500 d, d->state, v24_sig);501501502502 if (test_bit(RFCOMM_RX_THROTTLED, &d->flags))503503 v24_sig |= RFCOMM_V24_FC;504504 else505505 v24_sig &= ~RFCOMM_V24_FC;506506-506506+507507 d->v24_sig = v24_sig;508508509509 if (!test_and_set_bit(RFCOMM_MSC_PENDING, &d->flags))···514514515515int rfcomm_dlc_get_modem_status(struct rfcomm_dlc *d, u8 *v24_sig)516516{517517- BT_DBG("dlc %p state %ld v24_sig 0x%x", 517517+ BT_DBG("dlc %p state %ld v24_sig 0x%x",518518 d, d->state, d->v24_sig);519519520520 *v24_sig = d->v24_sig;···576576 struct bt_sock *sk;577577 list_for_each_safe(p, n, &session_list) {578578 s = list_entry(p, struct rfcomm_session, list);579579- sk = bt_sk(s->sock->sk); 579579+ sk = bt_sk(s->sock->sk);580580581581 if ((!bacmp(src, BDADDR_ANY) || !bacmp(&sk->src, src)) &&582582 !bacmp(&sk->dst, dst))···825825826826int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci,827827 u8 bit_rate, u8 data_bits, u8 stop_bits,828828- u8 parity, u8 flow_ctrl_settings, 828828+ u8 parity, u8 flow_ctrl_settings,829829 u8 xon_char, u8 xoff_char, u16 param_mask)830830{831831 struct rfcomm_hdr *hdr;···834834 u8 buf[16], *ptr = buf;835835836836 BT_DBG("%p cr %d dlci %d bit_r 0x%x data_b 0x%x stop_b 0x%x parity 0x%x"837837- " flwc_s 0x%x xon_c 0x%x xoff_c 0x%x p_mask 0x%x", 838838- s, cr, dlci, bit_rate, data_bits, stop_bits, parity, 837837+ " flwc_s 0x%x xon_c 0x%x xoff_c 0x%x p_mask 0x%x",838838+ s, cr, dlci, bit_rate, data_bits, stop_bits, parity,839839 flow_ctrl_settings, xon_char, xoff_char, param_mask);840840841841 hdr = (void *) ptr; ptr += sizeof(*hdr);···1120112011211121 d->state = BT_CLOSED;11221122 __rfcomm_dlc_close(d, err);11231123- } else 11231123+ } else11241124 rfcomm_send_dm(s, dlci);11251125-11251125+11261126 } else {11271127 rfcomm_send_ua(s, 0);11281128···12301230{12311231 struct rfcomm_session *s = d->session;1232123212331233- BT_DBG("dlc %p state %ld dlci %d mtu %d fc 0x%x credits %d", 12331233+ BT_DBG("dlc %p state %ld dlci %d mtu %d fc 0x%x credits %d",12341234 d, d->state, d->dlci, pn->mtu, pn->flow_ctrl, pn->credits);1235123512361236 if ((pn->flow_ctrl == 0xf0 && s->cfc != RFCOMM_CFC_DISABLED) ||···14541454 if (d->modem_status)14551455 d->modem_status(d, msc->v24_sig);14561456 rfcomm_dlc_unlock(d);14571457-14571457+14581458 rfcomm_send_msc(s, 0, dlci, msc->v24_sig);1459145914601460 d->mscex |= RFCOMM_MSCEX_RX;···16411641 struct sk_buff *skb;16421642 int err;1643164316441644- BT_DBG("dlc %p state %ld cfc %d rx_credits %d tx_credits %d", 16441644+ BT_DBG("dlc %p state %ld cfc %d rx_credits %d tx_credits %d",16451645 d, d->state, d->cfc, d->rx_credits, d->tx_credits);1646164616471647 /* Send pending MSC */16481648 if (test_and_clear_bit(RFCOMM_MSC_PENDING, &d->flags))16491649- rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig); 16491649+ rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig);1650165016511651 if (d->cfc) {16521652- /* CFC enabled. 16521652+ /* CFC enabled.16531653 * Give them some credits */16541654 if (!test_bit(RFCOMM_RX_THROTTLED, &d->flags) &&16551655- d->rx_credits <= (d->cfc >> 2)) {16551655+ d->rx_credits <= (d->cfc >> 2)) {16561656 rfcomm_send_credits(d->session, d->addr, d->cfc - d->rx_credits);16571657 d->rx_credits = d->cfc;16581658 }···1876187618771877 /* Create socket */18781878 err = rfcomm_l2sock_create(&sock);18791879- if (err < 0) { 18791879+ if (err < 0) {18801880 BT_ERR("Create socket failed %d", err);18811881 return err;18821882 }
+10-10
net/bluetooth/rfcomm/sock.c
···11-/* 11+/*22 RFCOMM implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>44 Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>···1111 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1212 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1313 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1414- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1515- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1616- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1414+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1515+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1616+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1717 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.18181919- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2020- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1919+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2020+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2121 SOFTWARE IS DISCLAIMED.2222*/2323···130130 struct hlist_node *node;131131132132 sk_for_each(sk, node, &rfcomm_sk_list.head) {133133- if (rfcomm_pi(sk)->channel == channel && 133133+ if (rfcomm_pi(sk)->channel == channel &&134134 !bacmp(&bt_sk(sk)->src, src))135135 break;136136 }···572572 while (len) {573573 size_t size = min_t(size_t, len, d->mtu);574574 int err;575575-575575+576576 skb = sock_alloc_send_skb(sk, size + RFCOMM_SKB_RESERVE,577577 msg->msg_flags & MSG_DONTWAIT, &err);578578 if (!skb)···843843 return err;844844}845845846846-/* ---- RFCOMM core layer callbacks ---- 846846+/* ---- RFCOMM core layer callbacks ----847847 *848848 * called under rfcomm_lock()849849 */···864864865865 /* Check for backlog size */866866 if (sk_acceptq_is_full(parent)) {867867- BT_DBG("backlog full %d", parent->sk_ack_backlog); 867867+ BT_DBG("backlog full %d", parent->sk_ack_backlog);868868 goto done;869869 }870870
+23-23
net/bluetooth/rfcomm/tty.c
···11-/* 11+/*22 RFCOMM implementation for Linux Bluetooth stack (BlueZ).33 Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>44 Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>···1111 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1212 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1313 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1414- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1515- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1616- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1414+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1515+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1616+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1717 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.18181919- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2020- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 1919+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2020+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2121 SOFTWARE IS DISCLAIMED.2222*/2323···110110111111 kfree(dev);112112113113- /* It's safe to call module_put() here because socket still 113113+ /* It's safe to call module_put() here because socket still114114 holds reference to this module. */115115 module_put(THIS_MODULE);116116}···185185 int err = 0;186186187187 BT_DBG("id %d channel %d", req->dev_id, req->channel);188188-188188+189189 dev = kzalloc(sizeof(struct rfcomm_dev), GFP_KERNEL);190190 if (!dev)191191 return -ENOMEM;···234234 bacpy(&dev->dst, &req->dst);235235 dev->channel = req->channel;236236237237- dev->flags = req->flags & 237237+ dev->flags = req->flags &238238 ((1 << RFCOMM_RELEASE_ONHUP) | (1 << RFCOMM_REUSE_DLC));239239240240 init_waitqueue_head(&dev->wait);···249249 dev->dlc = dlc;250250 rfcomm_dlc_unlock(dlc);251251252252- /* It's safe to call __module_get() here because socket already 252252+ /* It's safe to call __module_get() here because socket already253253 holds reference to this module. */254254 __module_get(THIS_MODULE);255255···487487{488488 struct rfcomm_dev *dev = dlc->owner;489489 struct tty_struct *tty;490490-490490+491491 if (!dev || !(tty = dev->tty)) {492492 kfree_skb(skb);493493 return;···506506 struct rfcomm_dev *dev = dlc->owner;507507 if (!dev)508508 return;509509-509509+510510 BT_DBG("dlc %p dev %p err %d", dlc, dev, err);511511512512 dev->err = err;···525525 rfcomm_dev_put(dev);526526 rfcomm_dlc_lock(dlc);527527 }528528- } else 528528+ } else529529 tty_hangup(dev->tty);530530 }531531}···543543 tty_hangup(dev->tty);544544 }545545546546- dev->modem_status = 546546+ dev->modem_status =547547 ((v24_sig & RFCOMM_V24_RTC) ? (TIOCM_DSR | TIOCM_DTR) : 0) |548548 ((v24_sig & RFCOMM_V24_RTR) ? (TIOCM_RTS | TIOCM_CTS) : 0) |549549 ((v24_sig & RFCOMM_V24_IC) ? TIOCM_RI : 0) |···561561 BT_DBG("dev %p tty %p", dev, tty);562562563563 if (test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) && tty->ldisc.write_wakeup)564564- (tty->ldisc.write_wakeup)(tty);564564+ (tty->ldisc.write_wakeup)(tty);565565566566 wake_up_interruptible(&tty->write_wait);567567#ifdef SERIAL_HAVE_POLL_WAIT···576576 struct rfcomm_dlc *dlc;577577 int err, id;578578579579- id = tty->index;579579+ id = tty->index;580580581581 BT_DBG("tty %p id %d", tty, id);582582···670670 size = min_t(uint, count, dlc->mtu);671671672672 skb = rfcomm_wmalloc(dev, size + RFCOMM_SKB_RESERVE, GFP_ATOMIC);673673-673673+674674 if (!skb)675675 break;676676···773773 return;774774775775 /* Handle turning off CRTSCTS */776776- if ((old->c_cflag & CRTSCTS) && !(new->c_cflag & CRTSCTS)) 776776+ if ((old->c_cflag & CRTSCTS) && !(new->c_cflag & CRTSCTS))777777 BT_DBG("Turning off CRTSCTS unsupported");778778779779 /* Parity on/off and when on, odd/even */···830830 }831831832832 /* Handle number of data bits [5-8] */833833- if ((old->c_cflag & CSIZE) != (new->c_cflag & CSIZE)) 833833+ if ((old->c_cflag & CSIZE) != (new->c_cflag & CSIZE))834834 changes |= RFCOMM_RPN_PM_DATA;835835836836 switch (new->c_cflag & CSIZE) {···868868 case 9600:869869 baud = RFCOMM_RPN_BR_9600;870870 break;871871- case 19200: 871871+ case 19200:872872 baud = RFCOMM_RPN_BR_19200;873873 break;874874 case 38400:···887887 /* 9600 is standard accordinag to the RFCOMM specification */888888 baud = RFCOMM_RPN_BR_9600;889889 break;890890-890890+891891 }892892893893 if (changes)···978978979979static int rfcomm_tty_tiocmget(struct tty_struct *tty, struct file *filp)980980{981981- struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;981981+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;982982983983 BT_DBG("tty %p dev %p", tty, dev);984984985985- return dev->modem_status;985985+ return dev->modem_status;986986}987987988988static int rfcomm_tty_tiocmset(struct tty_struct *tty, struct file *filp, unsigned int set, unsigned int clear)
+15-15
net/bluetooth/sco.c
···11-/* 11+/*22 BlueZ - Bluetooth protocol stack for Linux33 Copyright (C) 2000-2001 Qualcomm Incorporated44···1212 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,1313 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.1414 IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY1515- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES 1616- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1717- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1515+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES1616+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN1717+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF1818 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19192020- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, 2121- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS 2020+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,2121+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS2222 SOFTWARE IS DISCLAIMED.2323*/2424···149149 struct sco_conn *conn;150150 struct sock *sk;151151152152- if (!(conn = hcon->sco_data)) 152152+ if (!(conn = hcon->sco_data))153153 return 0;154154155155 BT_DBG("hcon %p conn %p, err %d", hcon, conn, err);···404404{405405 BT_DBG("sk %p", sk);406406407407- if (parent) 407407+ if (parent)408408 sk->sk_type = parent->sk_type;409409}410410···522522 if ((err = sco_connect(sk)))523523 goto done;524524525525- err = bt_sock_wait_state(sk, BT_CONNECTED, 525525+ err = bt_sock_wait_state(sk, BT_CONNECTED,526526 sock_sndtimeo(sk, flags & O_NONBLOCK));527527528528done:···627627 return 0;628628}629629630630-static int sco_sock_sendmsg(struct kiocb *iocb, struct socket *sock, 630630+static int sco_sock_sendmsg(struct kiocb *iocb, struct socket *sock,631631 struct msghdr *msg, size_t len)632632{633633 struct sock *sk = sock->sk;···677677 struct sock *sk = sock->sk;678678 struct sco_options opts;679679 struct sco_conninfo cinfo;680680- int len, err = 0; 680680+ int len, err = 0;681681682682 BT_DBG("sk %p", sk);683683···761761 bt_accept_enqueue(parent, sk);762762}763763764764-/* Delete channel. 764764+/* Delete channel.765765 * Must be called on the locked socket. */766766static void sco_chan_del(struct sock *sk, int err)767767{···771771772772 BT_DBG("sk %p, conn %p, err %d", sk, conn, err);773773774774- if (conn) { 774774+ if (conn) {775775 sco_conn_lock(conn);776776 conn->sk = NULL;777777 sco_pi(sk)->conn = NULL;···855855 conn = sco_conn_add(hcon, status);856856 if (conn)857857 sco_conn_ready(conn);858858- } else 858858+ } else859859 sco_conn_del(hcon, bt_err(status));860860861861 return 0;···887887 }888888889889drop:890890- kfree_skb(skb); 890890+ kfree_skb(skb);891891 return 0;892892}893893