Skip to content

Commit

Permalink
cxgb3 - fix netpoll hanlder
Browse files Browse the repository at this point in the history
Fix netpoll handler to work with line interrupt, msi and msi-x.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Divy Le Ray authored and Jeff Garzik committed Jun 20, 2007
1 parent e360b56 commit 890de33
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
16 changes: 13 additions & 3 deletions drivers/net/cxgb3/cxgb3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2071,10 +2071,20 @@ static void vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
static void cxgb_netpoll(struct net_device *dev)
{
struct adapter *adapter = dev->priv;
struct sge_qset *qs = dev2qset(dev);
struct port_info *pi = netdev_priv(dev);
int qidx;

t3_intr_handler(adapter, qs->rspq.polling) (adapter->pdev->irq,
adapter);
for (qidx = pi->first_qset; qidx < pi->first_qset + pi->nqsets; qidx++) {
struct sge_qset *qs = &adapter->sge.qs[qidx];
void *source;

if (adapter->flags & USING_MSIX)
source = qs;
else
source = adapter;

t3_intr_handler(adapter, qs->rspq.polling) (0, source);
}
}
#endif

Expand Down
1 change: 0 additions & 1 deletion drivers/net/cxgb3/sge.c
Original file line number Diff line number Diff line change
Expand Up @@ -2217,7 +2217,6 @@ irqreturn_t t3_sge_intr_msix_napi(int irq, void *cookie)
struct sge_rspq *q = &qs->rspq;

spin_lock(&q->lock);
BUG_ON(napi_is_scheduled(qs->netdev));

if (handle_responses(adap, q) < 0)
q->unhandled_irqs++;
Expand Down

0 comments on commit 890de33

Please sign in to comment.