|
@@ -952,7 +952,7 @@ static int c_can_poll(struct napi_struct *napi, int quota)
|
|
struct net_device *dev = napi->dev;
|
|
struct net_device *dev = napi->dev;
|
|
struct c_can_priv *priv = netdev_priv(dev);
|
|
struct c_can_priv *priv = netdev_priv(dev);
|
|
|
|
|
|
- irqstatus = priv->read_reg(priv, &priv->regs->interrupt);
|
|
|
|
|
|
+ irqstatus = priv->irqstatus;
|
|
if (!irqstatus)
|
|
if (!irqstatus)
|
|
goto end;
|
|
goto end;
|
|
|
|
|
|
@@ -1030,12 +1030,11 @@ end:
|
|
|
|
|
|
static irqreturn_t c_can_isr(int irq, void *dev_id)
|
|
static irqreturn_t c_can_isr(int irq, void *dev_id)
|
|
{
|
|
{
|
|
- u16 irqstatus;
|
|
|
|
struct net_device *dev = (struct net_device *)dev_id;
|
|
struct net_device *dev = (struct net_device *)dev_id;
|
|
struct c_can_priv *priv = netdev_priv(dev);
|
|
struct c_can_priv *priv = netdev_priv(dev);
|
|
|
|
|
|
- irqstatus = priv->read_reg(priv, &priv->regs->interrupt);
|
|
|
|
- if (!irqstatus)
|
|
|
|
|
|
+ priv->irqstatus = priv->read_reg(priv, &priv->regs->interrupt);
|
|
|
|
+ if (!priv->irqstatus)
|
|
return IRQ_NONE;
|
|
return IRQ_NONE;
|
|
|
|
|
|
/* disable all interrupts and schedule the NAPI */
|
|
/* disable all interrupts and schedule the NAPI */
|