Thread (98 messages) 98 messages, 9 authors, 2012-01-22

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

From: Stephen Hemminger <hidden>
Date: 2010-02-01 22:52:08
Also in: lkml

On Mon, 1 Feb 2010 23:46:39 +0100
Jarek Poplawski [off-list ref] wrote:
On Mon, Feb 01, 2010 at 02:29:42PM -0800, Stephen Hemminger wrote:
quoted
On Mon, 1 Feb 2010 22:27:41 +0100
Jarek Poplawski [off-list ref] wrote:
quoted
@@ -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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help