diff options
author | Jon Mason <jon.mason@intel.com> | 2012-11-16 20:52:57 -0500 |
---|---|---|
committer | Jon Mason <jon.mason@intel.com> | 2013-09-03 17:48:52 -0400 |
commit | 113bf1c9f1e035129f8631b032669d6ab36a14dd (patch) | |
tree | 839e4b16676e07112941bde5cc739e6fbf786942 /drivers/ntb/ntb_hw.h | |
parent | 948d3a65b6d164b34309625f57656cb9e8b1a908 (diff) |
NTB: BWD Link Recovery
The BWD NTB device will drop the link if an error is encountered on the
point-to-point PCI bridge. The link will stay down until all errors are
cleared and the link is re-established. On link down, check to see if
the error is detected, if so do the necessary housekeeping to try and
recover from the error and reestablish the link.
There is a potential race between the 2 NTB devices recovering at the
same time. If the times are synchronized, the link will not recover and the
driver will be stuck in this loop forever. Add a random interval to the
recovery time to prevent this race.
Signed-off-by: Jon Mason <jon.mason@intel.com>
Diffstat (limited to 'drivers/ntb/ntb_hw.h')
-rw-r--r-- | drivers/ntb/ntb_hw.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ntb/ntb_hw.h b/drivers/ntb/ntb_hw.h index 72fcb22d7dd8..3a15d492593c 100644 --- a/drivers/ntb/ntb_hw.h +++ b/drivers/ntb/ntb_hw.h | |||
@@ -125,10 +125,15 @@ struct ntb_device { | |||
125 | unsigned char num_msix; | 125 | unsigned char num_msix; |
126 | unsigned char bits_per_vector; | 126 | unsigned char bits_per_vector; |
127 | unsigned char max_cbs; | 127 | unsigned char max_cbs; |
128 | unsigned char link_width; | ||
129 | unsigned char link_speed; | ||
128 | unsigned char link_status; | 130 | unsigned char link_status; |
131 | |||
129 | struct delayed_work hb_timer; | 132 | struct delayed_work hb_timer; |
130 | unsigned long last_ts; | 133 | unsigned long last_ts; |
131 | 134 | ||
135 | struct delayed_work lr_timer; | ||
136 | |||
132 | struct dentry *debugfs_dir; | 137 | struct dentry *debugfs_dir; |
133 | }; | 138 | }; |
134 | 139 | ||