net: xilinx_emaclite: Fix problem with first incoming packet

Submitted by John Linn on Sept. 22, 2009, 3:24 p.m.

Details

Message ID fac40d47-5b19-4225-9fee-f7a058851fc0@SG2EHSMHS017.ehs.local
State Accepted, archived
Headers show

Commit Message

John Linn Sept. 22, 2009, 3:24 p.m.
From: Michal Simek <monstr@monstr.eu>

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>
---
 drivers/net/xilinx_emaclite.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

Comments

Grant Likely Sept. 22, 2009, 4:53 p.m.
On Tue, Sep 22, 2009 at 8:24 AM, John Linn <john.linn@xilinx.com> wrote:
> From: Michal Simek <monstr@monstr.eu>
>
> 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>

John, Since this patch is being *sent* by you, then you should use a
"signed-off-by" tag instead because it actually passed through your
hands.

Oh, and:
Acked-by: Grant Likely <grant.likely@secretlab.ca>

> ---
>  drivers/net/xilinx_emaclite.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
> index dc22782..83a044d 100644
> --- a/drivers/net/xilinx_emaclite.c
> +++ b/drivers/net/xilinx_emaclite.c
> @@ -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 */
> --
> 1.6.2.1
>
>
>
> This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
>
>
>
John Linn Sept. 22, 2009, 4:56 p.m.
Thanks Grant, I wondered about that myself.

> -----Original Message-----
> From: glikely@secretlab.ca [mailto:glikely@secretlab.ca] On Behalf Of Grant Likely
> Sent: Tuesday, September 22, 2009 10:54 AM
> To: John Linn
> Cc: netdev@vger.kernel.org; davem@davemloft.net; linuxppc-dev@ozlabs.org; jwboyer@linux.vnet.ibm.com;
> Sadanand Mutyala; Michal Simek
> Subject: Re: [PATCH] net: xilinx_emaclite: Fix problem with first incoming packet
> 
> On Tue, Sep 22, 2009 at 8:24 AM, John Linn <john.linn@xilinx.com> wrote:
> > From: Michal Simek <monstr@monstr.eu>
> >
> > 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>
> 
> John, Since this patch is being *sent* by you, then you should use a
> "signed-off-by" tag instead because it actually passed through your
> hands.
> 
> Oh, and:
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
> 
> > ---
> >  drivers/net/xilinx_emaclite.c |    7 ++-----
> >  1 files changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
> > index dc22782..83a044d 100644
> > --- a/drivers/net/xilinx_emaclite.c
> > +++ b/drivers/net/xilinx_emaclite.c
> > @@ -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 */
> > --
> > 1.6.2.1
> >
> >
> >
> > This email and any attachments are intended for the sole use of the named recipient(s) and
> contain(s) confidential information that may be proprietary, privileged or copyrighted under
> applicable law. If you are not the intended recipient, do not read, copy, or forward this email
> message or any attachments. Delete this email message and any attachments immediately.
> >
> >
> >
> 
> 
> 
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
David Miller Sept. 22, 2009, 9:17 p.m.
From: John Linn <John.Linn@xilinx.com>
Date: Tue, 22 Sep 2009 10:56:27 -0600

> Thanks Grant, I wondered about that myself.

I've applied this patch, thanks.

Patch hide | download patch | download mbox

diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index dc22782..83a044d 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -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 */