From patchwork Sat Feb 28 03:57:01 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guo-Fu Tseng X-Patchwork-Id: 23868 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id E4C78DDDFF for ; Sat, 28 Feb 2009 14:58:22 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754025AbZB1D6T (ORCPT ); Fri, 27 Feb 2009 22:58:19 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753894AbZB1D6T (ORCPT ); Fri, 27 Feb 2009 22:58:19 -0500 Received: from cooldavid.org ([220.133.139.86]:46793 "EHLO cooldavid.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753581AbZB1D6S (ORCPT ); Fri, 27 Feb 2009 22:58:18 -0500 Received: from cooldavid.org (localhost [127.0.0.1]) by cooldavid.org (Postfix) with ESMTP id 511CE8E42; Sat, 28 Feb 2009 11:57:01 +0800 (CST) From: "Guo-Fu Tseng" To: Jeff Garzik , David Miller Cc: netdev@vger.kernel.org, Ethan Reply-To: cooldavid@cooldavid.org Subject: [PATCH net-next-2.6 2/4] jme: Fix pci sync Date: Sat, 28 Feb 2009 11:57:01 +0800 Message-Id: <20090228035701.M35707@cooldavid.org> In-Reply-To: <20081008215853.M53590@cooldavid.org> References: <20080915165101.M68109@cooldavid.org> <48D27CDA.50501@pobox.com> <20081008215853.M53590@cooldavid.org> X-Mailer: Open WebMail 2.51 20050228 X-OriginatingIP: 140.117.176.176 (cooldavid) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org We should sync ring descriptor to pci device after modifying it. Signed-off-by: Guo-Fu Tseng --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/jme.c b/drivers/net/jme.c index 60cb997..f65a09c 100644 --- a/drivers/net/jme.c +++ b/drivers/net/jme.c @@ -1833,7 +1833,7 @@ jme_tx_vlan(struct sk_buff *skb, __le16 *vlan, u8 *flags) } static int -jme_fill_first_tx_desc(struct jme_adapter *jme, struct sk_buff *skb, int idx) +jme_fill_tx_desc(struct jme_adapter *jme, struct sk_buff *skb, int idx) { struct jme_ring *txring = jme->txring; struct txdesc *txdesc; @@ -1863,6 +1863,7 @@ jme_fill_first_tx_desc(struct jme_adapter *jme, struct sk_buff *skb, int idx) if (jme_tx_tso(skb, &txdesc->desc1.mss, &flags)) jme_tx_csum(jme, skb, &flags); jme_tx_vlan(skb, &txdesc->desc1.vlan, &flags); + jme_map_tx_skb(jme, skb, idx); txdesc->desc1.flags = flags; /* * Set tx buffer info after telling NIC to send @@ -1932,8 +1933,7 @@ jme_start_xmit(struct sk_buff *skb, struct net_device *netdev) return NETDEV_TX_BUSY; } - jme_map_tx_skb(jme, skb, idx); - jme_fill_first_tx_desc(jme, skb, idx); + jme_fill_tx_desc(jme, skb, idx); jwrite32(jme, JME_TXCS, jme->reg_txcs | TXCS_SELECT_QUEUE0 |