Skip to content

Commit

Permalink
qede: Error recovery process
Browse files Browse the repository at this point in the history
This patch adds the error recovery process in the qede driver.
The process includes a partial/customized driver unload and load, which
allows it to look like a short suspend period to the kernel while
preserving the net devices' state.

Signed-off-by: Tomer Tayar <tomer.tayar@cavium.com>
Signed-off-by: Ariel Elior <ariel.elior@cavium.com>
Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Tomer Tayar authored and David S. Miller committed Jan 23, 2019
1 parent c75860e commit 278396d
Show file tree
Hide file tree
Showing 4 changed files with 314 additions and 74 deletions.
3 changes: 3 additions & 0 deletions drivers/net/ethernet/qlogic/qede/qede.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ struct qede_rdma_dev {
struct list_head entry;
struct list_head rdma_event_list;
struct workqueue_struct *rdma_wq;
bool exp_recovery;
};

struct qede_ptp;
Expand Down Expand Up @@ -264,6 +265,7 @@ struct qede_dev {
enum QEDE_STATE {
QEDE_STATE_CLOSED,
QEDE_STATE_OPEN,
QEDE_STATE_RECOVERY,
};

#define HILO_U64(hi, lo) ((((u64)(hi)) << 32) + (lo))
Expand Down Expand Up @@ -462,6 +464,7 @@ struct qede_fastpath {
#define QEDE_CSUM_UNNECESSARY BIT(1)
#define QEDE_TUNN_CSUM_UNNECESSARY BIT(2)

#define QEDE_SP_RECOVERY 0
#define QEDE_SP_RX_MODE 1

#ifdef CONFIG_RFS_ACCEL
Expand Down
Loading

0 comments on commit 278396d

Please sign in to comment.