Bluetooth: hci_bcm: Fix empty regulator supplies for Intel Macs
authorChen-Yu Tsai <wens@csie.org>
Mon, 1 Apr 2019 03:43:12 +0000 (11:43 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 23 Apr 2019 17:28:20 +0000 (19:28 +0200)
commit62611abc8f37d00e3b0cff0eb2d72fa92b05fd27
tree239136f6fa2334582545073688aeffe2d7d62666
parentcd9151b618da4723877bd94eae952f2e50acbc0e
Bluetooth: hci_bcm: Fix empty regulator supplies for Intel Macs

The code path for Macs goes through bcm_apple_get_resources(), which
skips over the code that sets up the regulator supplies. As a result,
the call to regulator_bulk_enable() / regulator_bulk_disable() results
in a NULL pointer dereference.

This was reported on the kernel.org Bugzilla, bug 202963.

Unbreak Broadcom Bluetooth support on Intel Macs by checking if the
supplies were set up before enabling or disabling them.

The same does not need to be done for the clocks, as the common clock
framework API checks for NULL pointers.

Fixes: 75d11676dccb ("Bluetooth: hci_bcm: Add support for regulator supplies")
Cc: <stable@vger.kernel.org> # 5.0.x
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Tested-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_bcm.c