.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * Apple USB BCM5974 (Macbook Air and Penryn Macbook Pro) multitouch driver |
---|
3 | 4 | * |
---|
.. | .. |
---|
16 | 17 | * Copyright (C) 2005 Peter Osterlund (petero2@telia.com) |
---|
17 | 18 | * Copyright (C) 2005 Michael Hanselmann (linux-kernel@hansmi.ch) |
---|
18 | 19 | * Copyright (C) 2006 Nicolas Boichat (nicolas@boichat.ch) |
---|
19 | | - * |
---|
20 | | - * This program is free software; you can redistribute it and/or modify |
---|
21 | | - * it under the terms of the GNU General Public License as published by |
---|
22 | | - * the Free Software Foundation; either version 2 of the License, or |
---|
23 | | - * (at your option) any later version. |
---|
24 | | - * |
---|
25 | | - * This program is distributed in the hope that it will be useful, |
---|
26 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
27 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
28 | | - * GNU General Public License for more details. |
---|
29 | | - * |
---|
30 | | - * You should have received a copy of the GNU General Public License |
---|
31 | | - * along with this program; if not, write to the Free Software |
---|
32 | | - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
---|
33 | | - * |
---|
34 | 20 | */ |
---|
35 | 21 | |
---|
36 | 22 | #include <linux/kernel.h> |
---|
.. | .. |
---|
956 | 942 | if (!dev->tp_data) |
---|
957 | 943 | goto err_free_bt_buffer; |
---|
958 | 944 | |
---|
959 | | - if (dev->bt_urb) |
---|
| 945 | + if (dev->bt_urb) { |
---|
960 | 946 | usb_fill_int_urb(dev->bt_urb, udev, |
---|
961 | 947 | usb_rcvintpipe(udev, cfg->bt_ep), |
---|
962 | 948 | dev->bt_data, dev->cfg.bt_datalen, |
---|
963 | 949 | bcm5974_irq_button, dev, 1); |
---|
964 | 950 | |
---|
| 951 | + dev->bt_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; |
---|
| 952 | + } |
---|
| 953 | + |
---|
965 | 954 | usb_fill_int_urb(dev->tp_urb, udev, |
---|
966 | 955 | usb_rcvintpipe(udev, cfg->tp_ep), |
---|
967 | 956 | dev->tp_data, dev->cfg.tp_datalen, |
---|
968 | 957 | bcm5974_irq_trackpad, dev, 1); |
---|
969 | 958 | |
---|
| 959 | + dev->tp_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; |
---|
| 960 | + |
---|
970 | 961 | /* create bcm5974 device */ |
---|
971 | 962 | usb_make_path(udev, dev->phys, sizeof(dev->phys)); |
---|
972 | 963 | strlcat(dev->phys, "/input0", sizeof(dev->phys)); |
---|