From patchwork Wed Mar 6 19:06:24 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Veaceslav Falico X-Patchwork-Id: 225602 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.180.67]) by ozlabs.org (Postfix) with ESMTP id 8E4EF2C02CD for ; Thu, 7 Mar 2013 06:06:10 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753471Ab3CFTF4 (ORCPT ); Wed, 6 Mar 2013 14:05:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56097 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752910Ab3CFTF4 (ORCPT ); Wed, 6 Mar 2013 14:05:56 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r26J5s74008783 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 6 Mar 2013 14:05:54 -0500 Received: from darkmag.usersys.redhat.com (dhcp-27-204.brq.redhat.com [10.34.27.204]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r26J5pWw006365; Wed, 6 Mar 2013 14:05:52 -0500 From: Veaceslav Falico To: netdev@vger.kernel.org Cc: wfp5p@virginia.edu, jasowang@redhat.com, junchangwang@gmail.com, greearb@candelatech.com, ivecera@redhat.com Subject: [PATCH] 8139too: send NETDEV_CHANGE manually when autoneg is disabled Date: Wed, 6 Mar 2013 20:06:24 +0100 Message-Id: <1362596784-19443-1-git-send-email-vfalico@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When setting autoneg off (with any additional parameters, like speed/duplex), 8139too doesn't do an interface reset, and thus doesn't notify anyone that its speed/duplex might have changed (bonding and bridge will not see the speed changes, per example). Verify if we've force_media and send notification manually, so that the listeners have a chance to see the changes. It's quite ugly, however I don't see anything better. Signed-off-by: Veaceslav Falico --- drivers/net/ethernet/realtek/8139too.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c index 1276ac7..96ee18c 100644 --- a/drivers/net/ethernet/realtek/8139too.c +++ b/drivers/net/ethernet/realtek/8139too.c @@ -2393,6 +2393,11 @@ static int rtl8139_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) spin_lock_irq(&tp->lock); rc = mii_ethtool_sset(&tp->mii, cmd); spin_unlock_irq(&tp->lock); + /* + * we don't restart on autoneg off, so notify manually + */ + if (tp->mii.force_media) + call_netdevice_notifiers(NETDEV_CHANGE, dev); return rc; }