lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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