net: xilinx_emaclite: Fix problem with first incoming packet
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>
This commit is contained in:
parent
07653aa3af
commit
95acf7d7ed
|
@ -134,18 +134,15 @@ static void xemaclite_enable_interrupts(struct net_local *drvdata)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable the Rx interrupts for the first buffer */
|
/* 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,
|
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
|
/* Enable the Rx interrupts for the second Buffer if
|
||||||
* configured in HW */
|
* configured in HW */
|
||||||
if (drvdata->rx_ping_pong != 0) {
|
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 +
|
out_be32(drvdata->base_addr + XEL_BUFFER_OFFSET +
|
||||||
XEL_RSR_OFFSET,
|
XEL_RSR_OFFSET,
|
||||||
reg_data | XEL_RSR_RECV_IE_MASK);
|
XEL_RSR_RECV_IE_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable the Global Interrupt Enable */
|
/* Enable the Global Interrupt Enable */
|
||||||
|
|
Loading…
Reference in New Issue