On Tuesday 14 July 2015 09:34:13 Krzysztof Kozlowski wrote:
> The driver during probe registers a power supply notifier
> (with bq2415x_notifier_call() callback) and calls it manually right
> after. The notifier callback function schedules driver's workqueue
> (bq->work).
> 
> However the workqueue was initialized after these two events (after
> registering power supply notifier and calling manually the callback).
> 
> When power supply core notified the driver (executing its
> bq2415x_notifier_call() callback) the scheduled workqueue could be
> still uninitialized.
> 
> Signed-off-by: Krzysztof Kozlowski <k.kozlow...@samsung.com>
> Reported-by: Pali Rohár <pali.ro...@gmail.com>
> 
> ---
> 
> I don't have the hardware, please test. Additionally I could not find
> the commit which introduced the issue so I did not cc-stable.

Thanks for the patch! Please wait some time (about week) and I will test
it on real Nokia N900 hardware.

Because bq2415x depends on isp1704 on Nokia N900 and isp1704 is not
emulated by qemu, we cannot test any bq2415x changes in qemu :-(

> ---
>  drivers/power/bq2415x_charger.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/power/bq2415x_charger.c b/drivers/power/bq2415x_charger.c
> index e98dcb661cc9..527ed0f18796 100644
> --- a/drivers/power/bq2415x_charger.c
> +++ b/drivers/power/bq2415x_charger.c
> @@ -1601,6 +1601,7 @@ static int bq2415x_probe(struct i2c_client *client,
>       bq->reported_mode = BQ2415X_MODE_OFF;
>       bq->autotimer = 0;
>       bq->automode = 0;
> +     INIT_DELAYED_WORK(&bq->work, bq2415x_timer_work);
>  
>       if (np || ACPI_HANDLE(bq->dev)) {
>               ret = device_property_read_u32(bq->dev,
> @@ -1677,7 +1678,6 @@ static int bq2415x_probe(struct i2c_client *client,
>               dev_info(bq->dev, "automode not supported\n");
>       }
>  
> -     INIT_DELAYED_WORK(&bq->work, bq2415x_timer_work);
>       bq2415x_set_autotimer(bq, 1);
>  
>       dev_info(bq->dev, "driver registered\n");

-- 
Pali Rohár
pali.ro...@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to