lkml.org 
[lkml]   [2012]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v1 13/15] firmware loader: use small timeout for cache device firmware
    Date
    Because device_cache_fw_images only cache the firmware which has been
    loaded sucessfully at leat once, using a small loading timeout should
    be reasonable.

    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    ---
    drivers/base/firmware_class.c | 14 ++++++++++++++
    1 file changed, 14 insertions(+)

    diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
    index 68fd4c6..8ca0052 100644
    --- a/drivers/base/firmware_class.c
    +++ b/drivers/base/firmware_class.c
    @@ -1146,10 +1146,22 @@ static void device_cache_fw_images(void)
    {
    struct firmware_cache *fwc = &fw_cache;
    struct device *dev;
    + int old_timeout;
    DEFINE_WAIT(wait);

    pr_debug("%s\n", __func__);

    + /*
    + * use small loading timeout for caching devices' firmware
    + * because all these firmware images have been loaded
    + * successfully at lease once, also system is ready for
    + * completing firmware loading now. The maximum size of
    + * firmware in current distributions is about 2M bytes,
    + * so 10 secs should be enough.
    + */
    + old_timeout = loading_timeout;
    + loading_timeout = 10;
    +
    device_pm_lock();
    list_for_each_entry(dev, &dpm_list, power.entry)
    dev_cache_fw_image(dev);
    @@ -1171,6 +1183,8 @@ static void device_cache_fw_images(void)
    }
    spin_unlock(&fwc->name_lock);
    finish_wait(&fwc->wait_queue, &wait);
    +
    + loading_timeout = old_timeout;
    }

    /**
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-08-04 07:01    [W:0.022 / U:302.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site