lkml.org 
[lkml]   [2009]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] ds2760: delay power supply registration
    Date
    This fixes a race condition I recently introduced with the PMOD feature
    addition (cef437e3: "w1: ds2760_battery: add support for sleep mode
    feature").

    Postpone the call to power_supply_register() to fix it.

    Signed-off-by: Daniel Mack <daniel@caiaq.de>
    Cc: Szabolcs Gyurko <szabolcs.gyurko@tlt.hu>
    Cc: Matt Reimer <mreimer@vpop.net>
    Cc: Anton Vorontsov <cbou@mail.ru>
    ---
    drivers/power/ds2760_battery.c | 12 ++++++------
    1 files changed, 6 insertions(+), 6 deletions(-)

    diff --git a/drivers/power/ds2760_battery.c b/drivers/power/ds2760_battery.c
    index 520b5c4..cf07c43 100644
    --- a/drivers/power/ds2760_battery.c
    +++ b/drivers/power/ds2760_battery.c
    @@ -381,12 +381,6 @@ static int ds2760_battery_probe(struct platform_device *pdev)

    di->charge_status = POWER_SUPPLY_STATUS_UNKNOWN;

    - retval = power_supply_register(&pdev->dev, &di->bat);
    - if (retval) {
    - dev_err(di->dev, "failed to register battery\n");
    - goto batt_failed;
    - }
    -
    /* enable sleep mode feature */
    ds2760_battery_read_status(di);
    status = di->raw[DS2760_STATUS_REG];
    @@ -397,6 +391,12 @@ static int ds2760_battery_probe(struct platform_device *pdev)

    ds2760_battery_write_status(di, status);

    + retval = power_supply_register(&pdev->dev, &di->bat);
    + if (retval) {
    + dev_err(di->dev, "failed to register battery\n");
    + goto batt_failed;
    + }
    +
    INIT_DELAYED_WORK(&di->monitor_work, ds2760_battery_work);
    di->monitor_wqueue = create_singlethread_workqueue(dev_name(&pdev->dev));
    if (!di->monitor_wqueue) {
    --
    1.6.3.1


    \
     
     \ /
      Last update: 2009-07-15 18:23    [W:0.023 / U:59.712 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site