net: rfkill: gpio: prevent value glitch during probe
When either reset- or shutdown-gpio have are initially deasserted, e.g. after a reboot - or when the hardware does not include pull-down, there will be a short toggle of both IOs to logical 0 and back to 1. It seems that the rfkill default is unblocked, so the driver should not glitch to output low during probe. It can lead e.g. to unexpected lte modem reconnect: [1] root@localhost:~# dmesg | grep "usb 2-1" [ 2.136124] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd [ 21.215278] usb 2-1: USB disconnect, device number 2 [ 28.833977] usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd The glitch has been discovered on an arm64 board, now that device-tree support for the rfkill-gpio driver has finally appeared :). Change the flags for devm_gpiod_get_optional from GPIOD_OUT_LOW to GPIOD_ASIS to avoid any glitches. The rfkill driver will set the intended value during rfkill_sync_work. Fixes: 7176ba23 ("net: rfkill: add generic gpio rfkill driver") Signed-off-by:Josua Mayer <josua@solid-run.com> Link: https://lore.kernel.org/r/20231004163928.14609-1-josua@solid-run.com Signed-off-by:
Johannes Berg <johannes.berg@intel.com>
parent
02e0e426
-
mentioned in commit b8ba70e9
-
mentioned in commit 160ad7ba
-
mentioned in commit 805b3806
-
mentioned in commit eb1a3319
-
mentioned in commit e9df9f08
-
mentioned in commit d2821864
-
mentioned in commit 391c1019
-
mentioned in commit 28855385
-
mentioned in commit 73bee120
-
mentioned in commit f08531dd
-
mentioned in commit 4111986f
Please register or sign in to comment