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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 21 Jun 2016 22:53:15 -0700 From: Raghu Vatsavayi <rvatsavayi@...iumnetworks.com> To: <davem@...emloft.net> CC: <netdev@...r.kernel.org>, Raghu Vatsavayi <rvatsavayi@...iumnetworks.com>, Derek Chickles <derek.chickles@...iumnetworks.com>, Satanand Burla <satananda.burla@...iumnetworks.com>, Felix Manlunas <felix.manlunas@...iumnetworks.com>, Raghu Vatsavayi <raghu.vatsavayi@...iumnetworks.com> Subject: [PATCH net-next 13/13] liquidio: ddr timeout Adds support for ddr_timeout during device init. Signed-off-by: Derek Chickles <derek.chickles@...iumnetworks.com> Signed-off-by: Satanand Burla <satananda.burla@...iumnetworks.com> Signed-off-by: Felix Manlunas <felix.manlunas@...iumnetworks.com> Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@...iumnetworks.com> Signed-off-by: Raghu Vatsavayi <rvatsavayi@...iumnetworks.com> --- drivers/net/ethernet/cavium/liquidio/lio_main.c | 13 +++++++++---- drivers/net/ethernet/cavium/liquidio/octeon_device.c | 3 --- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index a8328f2..1a584eb 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -3805,14 +3805,19 @@ static int octeon_device_init(struct octeon_device *octeon_dev) dev_dbg(&octeon_dev->pci_dev->dev, "Waiting for DDR initialization...\n"); - if (ddr_timeout == 0) { - dev_info(&octeon_dev->pci_dev->dev, - "WAITING. Set ddr_timeout to non-zero value to proceed with initialization.\n"); - } + if (ddr_timeout == 0) + dev_info(&octeon_dev->pci_dev->dev, "WAITING. Set ddr_timeout to non-zero value to proceed with initialization.\n"); schedule_timeout_uninterruptible(HZ * LIO_RESET_SECS); /* Wait for the octeon to initialize DDR after the soft-reset. */ + while (ddr_timeout == 0) { + set_current_state(TASK_INTERRUPTIBLE); + if (schedule_timeout(HZ / 10)) { + /* user probably pressed Control-C */ + return 1; + } + } ret = octeon_wait_for_ddr_init(octeon_dev, &ddr_timeout); if (ret) { dev_err(&octeon_dev->pci_dev->dev, diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c b/drivers/net/ethernet/cavium/liquidio/octeon_device.c index bc4d6af..3372207 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_device.c +++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.c @@ -1284,9 +1284,6 @@ int octeon_wait_for_ddr_init(struct octeon_device *oct, u32 *timeout) if (!timeout) return ret; - while (*timeout == 0) - schedule_timeout_uninterruptible(HZ / 10); - for (ms = 0; (ret != 0) && ((*timeout == 0) || (ms <= *timeout)); ms += HZ / 10) { ret = octeon_mem_access_ok(oct); -- 1.8.3.1
Powered by blists - more mailing lists