diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2010-11-10 04:29:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-10 15:07:08 -0500 |
commit | 673483c7d3a25c43d1208bb07e3888bc5136e8cf (patch) | |
tree | 1035533779c2e9c16c02d37c26d769ff38de8803 /drivers/net/qlge/qlge_dbg.c | |
parent | 2af6fd8b18ceed416c9dfa675287c765aabf7d43 (diff) |
qlge: Add firmware info to ethtool get regs.
By default we add firmware information to ethtool get regs.
Optionally firmware info can instead be sent to log.
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge/qlge_dbg.c')
-rw-r--r-- | drivers/net/qlge/qlge_dbg.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/drivers/net/qlge/qlge_dbg.c b/drivers/net/qlge/qlge_dbg.c index 4747492935ef..fca804f36d61 100644 --- a/drivers/net/qlge/qlge_dbg.c +++ b/drivers/net/qlge/qlge_dbg.c | |||
@@ -1317,9 +1317,28 @@ void ql_gen_reg_dump(struct ql_adapter *qdev, | |||
1317 | status = ql_get_ets_regs(qdev, &mpi_coredump->ets[0]); | 1317 | status = ql_get_ets_regs(qdev, &mpi_coredump->ets[0]); |
1318 | if (status) | 1318 | if (status) |
1319 | return; | 1319 | return; |
1320 | } | ||
1321 | |||
1322 | void ql_get_dump(struct ql_adapter *qdev, void *buff) | ||
1323 | { | ||
1324 | /* | ||
1325 | * If the dump has already been taken and is stored | ||
1326 | * in our internal buffer and if force dump is set then | ||
1327 | * just start the spool to dump it to the log file | ||
1328 | * and also, take a snapshot of the general regs to | ||
1329 | * to the user's buffer or else take complete dump | ||
1330 | * to the user's buffer if force is not set. | ||
1331 | */ | ||
1320 | 1332 | ||
1321 | if (test_bit(QL_FRC_COREDUMP, &qdev->flags)) | 1333 | if (!test_bit(QL_FRC_COREDUMP, &qdev->flags)) { |
1334 | if (!ql_core_dump(qdev, buff)) | ||
1335 | ql_soft_reset_mpi_risc(qdev); | ||
1336 | else | ||
1337 | netif_err(qdev, drv, qdev->ndev, "coredump failed!\n"); | ||
1338 | } else { | ||
1339 | ql_gen_reg_dump(qdev, buff); | ||
1322 | ql_get_core_dump(qdev); | 1340 | ql_get_core_dump(qdev); |
1341 | } | ||
1323 | } | 1342 | } |
1324 | 1343 | ||
1325 | /* Coredump to messages log file using separate worker thread */ | 1344 | /* Coredump to messages log file using separate worker thread */ |