[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Sep 2020 09:23:08 -0700
From: Shannon Nelson <snelson@...sando.io>
To: Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, davem@...emloft.net
Subject: Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update
On 9/8/20 4:54 PM, Jakub Kicinski wrote:
> On Tue, 8 Sep 2020 15:48:12 -0700 Shannon Nelson wrote:
>> + dl = priv_to_devlink(ionic);
>> + devlink_flash_update_status_notify(dl, label, NULL, 1, timeout);
>> + start_time = jiffies;
>> + end_time = start_time + (timeout * HZ);
>> + do {
>> + mutex_lock(&ionic->dev_cmd_lock);
>> + ionic_dev_cmd_go(&ionic->idev, &cmd);
>> + err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT);
>> + mutex_unlock(&ionic->dev_cmd_lock);
>> +
>> + devlink_flash_update_status_notify(dl, label, NULL,
>> + (jiffies - start_time) / HZ,
>> + timeout);
> That's not what I meant. I think we can plumb proper timeout parameter
> through devlink all the way to user space.
Sure, but until that gets worked out, this should suffice.
>
>> + } while (time_before(jiffies, end_time) && (err == -EAGAIN || err == -ETIMEDOUT));
>> +
>> + if (err == -EAGAIN || err == -ETIMEDOUT) {
>> + NL_SET_ERR_MSG_MOD(extack, "Firmware wait timed out");
>> + dev_err(ionic->dev, "DEV_CMD firmware wait %s timed out\n", label);
>> + } else if (err) {
>> + NL_SET_ERR_MSG_MOD(extack, "Firmware wait failed");
>> + } else {
>> + devlink_flash_update_status_notify(dl, label, NULL, timeout, timeout);
>> + }
>
>> + if (offset > next_interval) {
>> + devlink_flash_update_status_notify(dl, "Downloading",
>> + NULL, offset, fw->size);
>> + next_interval = offset + (fw->size / IONIC_FW_INTERVAL_FRACTION);
>> + }
>> + }
>> + devlink_flash_update_status_notify(dl, "Downloading", NULL, 1, 1);
> This one wasn't updated.
Yep, missed it. I'll follow up.
sln
Powered by blists - more mailing lists