summaryrefslogtreecommitdiffstats
path: root/drivers/nfc/nfcmrvl/usb.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2019-08-05 12:00:55 +0200
committerDavid S. Miller <davem@davemloft.net>2019-08-05 19:25:48 +0200
commitc3953a3c2d3175d2f9f0304c9a1ba89e7743c5e4 (patch)
tree07c316120fb7552531896ab03187c67b4038fada /drivers/nfc/nfcmrvl/usb.c
parentnet/socket: fix GCC8+ Wpacked-not-aligned warnings (diff)
downloadlinux-c3953a3c2d3175d2f9f0304c9a1ba89e7743c5e4.tar.xz
linux-c3953a3c2d3175d2f9f0304c9a1ba89e7743c5e4.zip
NFC: nfcmrvl: fix gpio-handling regression
Fix two reset-gpio sanity checks which were never converted to use gpio_is_valid(), and make sure to use -EINVAL to indicate a missing reset line also for the UART-driver module parameter and for the USB driver. This specifically prevents the UART and USB drivers from incidentally trying to request and use gpio 0, and also avoids triggering a WARN() in gpio_to_desc() during probe when no valid reset line has been specified. Fixes: e33a3f84f88f ("NFC: nfcmrvl: allow gpio 0 for reset signalling") Reported-by: syzbot+cf35b76f35e068a1107f@syzkaller.appspotmail.com Tested-by: syzbot+cf35b76f35e068a1107f@syzkaller.appspotmail.com Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to '')
-rw-r--r--drivers/nfc/nfcmrvl/usb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nfc/nfcmrvl/usb.c b/drivers/nfc/nfcmrvl/usb.c
index 945cc903d8f1..888e298f610b 100644
--- a/drivers/nfc/nfcmrvl/usb.c
+++ b/drivers/nfc/nfcmrvl/usb.c
@@ -305,6 +305,7 @@ static int nfcmrvl_probe(struct usb_interface *intf,
/* No configuration for USB */
memset(&config, 0, sizeof(config));
+ config.reset_n_io = -EINVAL;
nfc_info(&udev->dev, "intf %p id %p\n", intf, id);