diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/misc/bcm4329_rfkill.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/bcm4329_rfkill.c b/drivers/misc/bcm4329_rfkill.c index a077326f2553..cf56768e2baa 100644 --- a/drivers/misc/bcm4329_rfkill.c +++ b/drivers/misc/bcm4329_rfkill.c @@ -44,6 +44,13 @@ static struct bcm4329_rfkill_data *bcm4329_rfkill; static int bcm4329_bt_rfkill_set_power(void *data, bool blocked) { + /* + * check if BT gpio_shutdown line status and current request are same. + * If same, then return, else perform requested operation. + */ + if (gpio_get_value(bcm4329_rfkill->gpio_shutdown) && !blocked) + return 0; + if (blocked) { if (bcm4329_rfkill->gpio_shutdown) gpio_direction_output(bcm4329_rfkill->gpio_shutdown, 0); |