public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse•de>
To: linux-kernel@vger•kernel.org, stable@kernel•org,
	Krzysztof Oledzki <olel@ans•pl>, Greg KH <greg@kroah•com>
Cc: Justin Forbes <jmforbes@linuxtx•org>,
	Zwane Mwaikambo <zwane@arm•linux.org.uk>,
	Theodore Ts'o <tytso@mit•edu>,
	Randy Dunlap <rdunlap@xenotime•net>,
	Dave Jones <davej@redhat•com>,
	Chuck Wolber <chuckw@quantumlinux•com>,
	Chris Wedgwood <reviews@ml•cw.f00f.org>,
	Michael Krufky <mkrufky@linuxtv•org>,
	Chuck Ebbert <cebbert@redhat•com>,
	Domenico Andreoli <cavokz@gmail•com>,
	torvalds@linux-foundation•org, akpm@linux-foundation•org,
	alan@lxorguk•ukuu.org.uk, netdev@vger•kernel.org,
	Stephen Hemminger <shemminger@linux-foundation•org>
Subject: [patch 04/12] sky2: fix transmit state on resume
Date: Mon, 8 Oct 2007 11:06:15 -0700	[thread overview]
Message-ID: <20071008180615.GE7627@kroah.com> (raw)
In-Reply-To: <20071008180551.GA7627@kroah.com>

[-- Attachment #1: sky2-tx-sum-resume.patch --]
[-- Type: text/plain, Size: 1293 bytes --]

From: Stephen Hemminger <shemminger@linux-foundation•org>

Already upstream.

After resume, driver has reset the chip so the current state
of transmit checksum offload state machine and DMA state machine
will be undefined.

The fix is to set the state so that first Tx will set MSS and offset
values.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation•org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse•de>

---
 drivers/net/sky2.c |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -831,6 +831,20 @@ static inline struct sky2_tx_le *get_tx_
 	return le;
 }
 
+static void tx_init(struct sky2_port *sky2)
+{
+	struct sky2_tx_le *le;
+
+	sky2->tx_prod = sky2->tx_cons = 0;
+	sky2->tx_tcpsum = 0;
+	sky2->tx_last_mss = 0;
+
+	le = get_tx_le(sky2);
+	le->addr = 0;
+	le->opcode = OP_ADDR64 | HW_OWNER;
+	sky2->tx_addr64 = 0;
+}
+
 static inline struct tx_ring_info *tx_le_re(struct sky2_port *sky2,
 					    struct sky2_tx_le *le)
 {
@@ -1244,7 +1258,8 @@ static int sky2_up(struct net_device *de
 				GFP_KERNEL);
 	if (!sky2->tx_ring)
 		goto err_out;
-	sky2->tx_prod = sky2->tx_cons = 0;
+
+	tx_init(sky2);
 
 	sky2->rx_le = pci_alloc_consistent(hw->pdev, RX_LE_BYTES,
 					   &sky2->rx_le_map);

-- 

      parent reply	other threads:[~2007-10-08 18:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071008180406.052382073@mini.kroah.org>
     [not found] ` <20071008180551.GA7627@kroah.com>
2007-10-08 18:06   ` [patch 02/12] sky2: reduce impact of watchdog timer Greg KH
2007-10-08 18:06   ` [patch 03/12] sky2: fix VLAN receive processing Greg KH
2007-10-08 18:06   ` Greg KH [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071008180615.GE7627@kroah.com \
    --to=gregkh@suse$(echo .)de \
    --cc=akpm@linux-foundation$(echo .)org \
    --cc=alan@lxorguk$(echo .)ukuu.org.uk \
    --cc=cavokz@gmail$(echo .)com \
    --cc=cebbert@redhat$(echo .)com \
    --cc=chuckw@quantumlinux$(echo .)com \
    --cc=davej@redhat$(echo .)com \
    --cc=greg@kroah$(echo .)com \
    --cc=jmforbes@linuxtx$(echo .)org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=mkrufky@linuxtv$(echo .)org \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=olel@ans$(echo .)pl \
    --cc=rdunlap@xenotime$(echo .)net \
    --cc=reviews@ml$(echo .)cw.f00f.org \
    --cc=shemminger@linux-foundation$(echo .)org \
    --cc=stable@kernel$(echo .)org \
    --cc=torvalds@linux-foundation$(echo .)org \
    --cc=tytso@mit$(echo .)edu \
    --cc=zwane@arm$(echo .)linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox