net: xilinx_emaclite: Fix problem with first incoming packet
authorMichal Simek <monstr@monstr.eu>
Tue, 22 Sep 2009 05:24:14 +0000 (05:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Sep 2009 21:00:04 +0000 (14:00 -0700)
You can't ping the board or connect to it unless you send
any packet out from board.

Tested-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Acked-by: John Linn <john.linn@xilinx.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xilinx_emaclite.c

index dc22782..83a044d 100644 (file)
@@ -134,18 +134,15 @@ static void xemaclite_enable_interrupts(struct net_local *drvdata)
        }
 
        /* Enable the Rx interrupts for the first buffer */
-       reg_data = in_be32(drvdata->base_addr + XEL_RSR_OFFSET);
        out_be32(drvdata->base_addr + XEL_RSR_OFFSET,
-                reg_data | XEL_RSR_RECV_IE_MASK);
+                XEL_RSR_RECV_IE_MASK);
 
        /* Enable the Rx interrupts for the second Buffer if
         * configured in HW */
        if (drvdata->rx_ping_pong != 0) {
-               reg_data = in_be32(drvdata->base_addr + XEL_BUFFER_OFFSET +
-                                  XEL_RSR_OFFSET);
                out_be32(drvdata->base_addr + XEL_BUFFER_OFFSET +
                         XEL_RSR_OFFSET,
-                        reg_data | XEL_RSR_RECV_IE_MASK);
+                        XEL_RSR_RECV_IE_MASK);
        }
 
        /* Enable the Global Interrupt Enable */