Re: [PATCH v3] sky2: receive dma mapping error handling

From: Stephen Hemminger
Date: Mon Feb 01 2010 - 17:52:13 EST


On Mon, 1 Feb 2010 23:46:39 +0100
Jarek Poplawski <jarkao2@xxxxxxxxx> wrote:

> On Mon, Feb 01, 2010 at 02:29:42PM -0800, Stephen Hemminger wrote:
> > On Mon, 1 Feb 2010 22:27:41 +0100
> > Jarek Poplawski <jarkao2@xxxxxxxxx> wrote:
> >
> > > @@ -1038,13 +1035,14 @@ static void tx_init(struct sky2_port *sky2)
> > > {
> > > struct sky2_tx_le *le;
> > >
> > > - sky2->tx_prod = sky2->tx_cons = 0;
> > > + sky2->tx_prod = 0;
> > > sky2->tx_tcpsum = 0;
> > > sky2->tx_last_mss = 0;
> > >
> > > le = get_tx_le(sky2, &sky2->tx_prod);
> > > le->addr = 0;
> > > le->opcode = OP_ADDR64 | HW_OWNER;
> > > + sky2->tx_cons = sky2->tx_prod;
> > > sky2->tx_last_upper = 0;
> > > }
> >
> > Your change causes the initial element to be skipped. I want
> > it to goto the hardware. It makes sure the upper bits of the
> > first request are set (0).
>
> I thought "Send high bits if needed" part in sky2_xmit_frame() was
> enough. If it's otherwise than my patch was wrong.
>

The definition is "high bits are different than the last value".
The code init sets the last value to zero, and initializes the hardware
engine as well.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/