Message ID | 20240512-btfix-msgid-v1-1-ab1bd938a7f4@svenpeter.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Bluetooth: hci_bcm4377 fixes | expand |
Hi Sven, Am 12.05.24 um 14:12 schrieb Sven Peter via B4 Relay: > From: Hector Martin <marcan@marcan.st> > > BCM4388 takes over 2 seconds to boot, so increase the timeout (and also > fix the units while we're here). > > Signed-off-by: Hector Martin <marcan@marcan.st> > Reviewed-by: Sven Peter <sven@svenpeter.dev> > Signed-off-by: Sven Peter <sven@svenpeter.dev> > --- > drivers/bluetooth/hci_bcm4377.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/bluetooth/hci_bcm4377.c b/drivers/bluetooth/hci_bcm4377.c > index 9a7243d5db71..5b818a0e33d6 100644 > --- a/drivers/bluetooth/hci_bcm4377.c > +++ b/drivers/bluetooth/hci_bcm4377.c > @@ -32,7 +32,8 @@ enum bcm4377_chip { > #define BCM4378_DEVICE_ID 0x5f69 > #define BCM4387_DEVICE_ID 0x5f71 > > -#define BCM4377_TIMEOUT 1000 > +#define BCM4377_TIMEOUT msecs_to_jiffies(1000) this change affect all timeouts not just the boot timeout, so i would prefer to split this. > +#define BCM4377_BOOT_TIMEOUT msecs_to_jiffies(5000) > > /* > * These devices only support DMA transactions inside a 32bit window > @@ -1857,7 +1858,7 @@ static int bcm4377_boot(struct bcm4377_data *bcm4377) > dev_dbg(&bcm4377->pdev->dev, "waiting for firmware to boot\n"); > > ret = wait_for_completion_interruptible_timeout(&bcm4377->event, > - BCM4377_TIMEOUT); > + BCM4377_BOOT_TIMEOUT); > if (ret == 0) { > ret = -ETIMEDOUT; > goto out_dma_free; >
diff --git a/drivers/bluetooth/hci_bcm4377.c b/drivers/bluetooth/hci_bcm4377.c index 9a7243d5db71..5b818a0e33d6 100644 --- a/drivers/bluetooth/hci_bcm4377.c +++ b/drivers/bluetooth/hci_bcm4377.c @@ -32,7 +32,8 @@ enum bcm4377_chip { #define BCM4378_DEVICE_ID 0x5f69 #define BCM4387_DEVICE_ID 0x5f71 -#define BCM4377_TIMEOUT 1000 +#define BCM4377_TIMEOUT msecs_to_jiffies(1000) +#define BCM4377_BOOT_TIMEOUT msecs_to_jiffies(5000) /* * These devices only support DMA transactions inside a 32bit window @@ -1857,7 +1858,7 @@ static int bcm4377_boot(struct bcm4377_data *bcm4377) dev_dbg(&bcm4377->pdev->dev, "waiting for firmware to boot\n"); ret = wait_for_completion_interruptible_timeout(&bcm4377->event, - BCM4377_TIMEOUT); + BCM4377_BOOT_TIMEOUT); if (ret == 0) { ret = -ETIMEDOUT; goto out_dma_free;