diff options
author | 2011-05-16 06:13:49 +0000 | |
---|---|---|
committer | 2011-05-16 15:05:23 -0400 | |
commit | 867955f5682f7157fdafe8670804b9f8ea077bc7 (patch) | |
tree | 90d853ca6e38fd1512bf97addd14bf176b49332b /drivers/net | |
parent | Merge branch 'pablo/nf-2.6-updates' of git://1984.lsi.us.es/net-2.6 (diff) | |
download | linux-867955f5682f7157fdafe8670804b9f8ea077bc7.tar.gz linux-867955f5682f7157fdafe8670804b9f8ea077bc7.tar.bz2 linux-867955f5682f7157fdafe8670804b9f8ea077bc7.zip |
sfc: Fix oops in register dump after mapping change
Commit 747df2258b1b9a2e25929ef496262c339c380009 ('sfc: Always map MCDI
shared memory as uncacheable') introduced a separate mapping for the
MCDI shared memory (MC_TREG_SMEM). This means we can no longer easily
include it in the register dump. Since it is not particularly useful
in debugging, substitute a recognisable dummy value.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/sfc/nic.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/sfc/nic.c b/drivers/net/sfc/nic.c index 10f1cb79c147..9b29a8d7c449 100644 --- a/drivers/net/sfc/nic.c +++ b/drivers/net/sfc/nic.c @@ -1937,6 +1937,13 @@ void efx_nic_get_regs(struct efx_nic *efx, void *buf) size = min_t(size_t, table->step, 16); + if (table->offset >= efx->type->mem_map_size) { + /* No longer mapped; return dummy data */ + memcpy(buf, "\xde\xc0\xad\xde", 4); + buf += table->rows * size; + continue; + } + for (i = 0; i < table->rows; i++) { switch (table->step) { case 4: /* 32-bit register or SRAM */ |