aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/mthca/mthca_catas.c15
-rw-r--r--drivers/infiniband/hw/mthca/mthca_dev.h1
2 files changed, 2 insertions, 14 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_catas.c b/drivers/infiniband/hw/mthca/mthca_catas.c
index 40573e48439c..50e2792e60c1 100644
--- a/drivers/infiniband/hw/mthca/mthca_catas.c
+++ b/drivers/infiniband/hw/mthca/mthca_catas.c
@@ -126,7 +126,6 @@ static void handle_catas(struct mthca_dev *dev)
126static void poll_catas(unsigned long dev_ptr) 126static void poll_catas(unsigned long dev_ptr)
127{ 127{
128 struct mthca_dev *dev = (struct mthca_dev *) dev_ptr; 128 struct mthca_dev *dev = (struct mthca_dev *) dev_ptr;
129 unsigned long flags;
130 int i; 129 int i;
131 130
132 for (i = 0; i < dev->catas_err.size; ++i) 131 for (i = 0; i < dev->catas_err.size; ++i)
@@ -135,13 +134,8 @@ static void poll_catas(unsigned long dev_ptr)
135 return; 134 return;
136 } 135 }
137 136
138 spin_lock_irqsave(&catas_lock, flags); 137 mod_timer(&dev->catas_err.timer,
139 if (!dev->catas_err.stop) 138 jiffies + MTHCA_CATAS_POLL_INTERVAL);
140 mod_timer(&dev->catas_err.timer,
141 jiffies + MTHCA_CATAS_POLL_INTERVAL);
142 spin_unlock_irqrestore(&catas_lock, flags);
143
144 return;
145} 139}
146 140
147void mthca_start_catas_poll(struct mthca_dev *dev) 141void mthca_start_catas_poll(struct mthca_dev *dev)
@@ -149,7 +143,6 @@ void mthca_start_catas_poll(struct mthca_dev *dev)
149 unsigned long addr; 143 unsigned long addr;
150 144
151 init_timer(&dev->catas_err.timer); 145 init_timer(&dev->catas_err.timer);
152 dev->catas_err.stop = 0;
153 dev->catas_err.map = NULL; 146 dev->catas_err.map = NULL;
154 147
155 addr = pci_resource_start(dev->pdev, 0) + 148 addr = pci_resource_start(dev->pdev, 0) +
@@ -180,10 +173,6 @@ void mthca_start_catas_poll(struct mthca_dev *dev)
180 173
181void mthca_stop_catas_poll(struct mthca_dev *dev) 174void mthca_stop_catas_poll(struct mthca_dev *dev)
182{ 175{
183 spin_lock_irq(&catas_lock);
184 dev->catas_err.stop = 1;
185 spin_unlock_irq(&catas_lock);
186
187 del_timer_sync(&dev->catas_err.timer); 176 del_timer_sync(&dev->catas_err.timer);
188 177
189 if (dev->catas_err.map) { 178 if (dev->catas_err.map) {
diff --git a/drivers/infiniband/hw/mthca/mthca_dev.h b/drivers/infiniband/hw/mthca/mthca_dev.h
index 2997d8d564ea..ee4d073c889f 100644
--- a/drivers/infiniband/hw/mthca/mthca_dev.h
+++ b/drivers/infiniband/hw/mthca/mthca_dev.h
@@ -277,7 +277,6 @@ struct mthca_mcg_table {
277struct mthca_catas_err { 277struct mthca_catas_err {
278 u64 addr; 278 u64 addr;
279 u32 __iomem *map; 279 u32 __iomem *map;
280 unsigned long stop;
281 u32 size; 280 u32 size;
282 struct timer_list timer; 281 struct timer_list timer;
283 struct list_head list; 282 struct list_head list;