diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-12-13 06:33:50 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-13 06:57:35 +0100 |
commit | be4ea89c8df06f48d0d64cf1d9d20009e83c77c8 (patch) | |
tree | fb48f89ea32ef55e336242e33d6ccfd1f5ff4295 /drivers/net/sfc/mtd.c | |
parent | sfc: Make reset_workqueue driver-global rather than per-NIC (diff) | |
download | linux-be4ea89c8df06f48d0d64cf1d9d20009e83c77c8.tar.xz linux-be4ea89c8df06f48d0d64cf1d9d20009e83c77c8.zip |
sfc: Clean up waits for flash/EEPROM operations
Make falcon_spi_wait() ignore the write timer - it is only relevant to
write commands, it only works for the device that contains VPD, and it
might not be initialised properly at all.
Rename falcon_spi_fast_wait() to falcon_spi_wait_write(), reflecting
its use, and make it wait up to 10 ms (not 1 ms) since buffered writes
to EEPROM may take this long to complete.
Make both wait functions sleep instead of busy-waiting.
Replace wait for command completion at top of falcon_spi_cmd() with a
single poll; no command should be running when the function starts.
Correct some comments.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/mtd.c')
-rw-r--r-- | drivers/net/sfc/mtd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sfc/mtd.c b/drivers/net/sfc/mtd.c index a1e6c2875fc0..665cafb88d6a 100644 --- a/drivers/net/sfc/mtd.c +++ b/drivers/net/sfc/mtd.c @@ -76,7 +76,7 @@ static int efx_spi_unlock(const struct efx_spi_device *spi) rc = falcon_spi_cmd(spi, SPI_WRSR, -1, &status, NULL, sizeof(status)); if (rc) return rc; - rc = falcon_spi_fast_wait(spi); + rc = falcon_spi_wait_write(spi); if (rc) return rc; |