* Re: [PATCH v3] net: mv643xx_eth: Fix highmem support in non-TSO egress path
From: Russell King - ARM Linux @ 2015-01-26 23:11 UTC (permalink / raw)
To: Ezequiel Garcia; +Cc: David Miller, netdev, B38611, fabio.estevam, David.Laight
In-Reply-To: <54C3A1F9.1000403@free-electrons.com>
On Sat, Jan 24, 2015 at 10:45:29AM -0300, Ezequiel Garcia wrote:
> Hi all,
>
> On 01/22/2015 11:33 AM, Ezequiel Garcia wrote:
> > Commit 69ad0dd7af22b61d9e0e68e56b6290121618b0fb
> > Author: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> > Date: Mon May 19 13:59:59 2014 -0300
> >
> > net: mv643xx_eth: Use dma_map_single() to map the skb fragments
> >
> > caused a nasty regression by removing the support for highmem skb
> > fragments. By using page_address() to get the address of a fragment's
> > page, we are assuming a lowmem page. However, such assumption is incorrect,
> > as fragments can be in highmem pages, resulting in very nasty issues.
> >
> > This commit fixes this by using the skb_frag_dma_map() helper,
> > which takes care of mapping the skb fragment properly. Additionally,
> > the type of mapping is now tracked, so it can be unmapped using
> > dma_unmap_page or dma_unmap_single when appropriate.
> >
> > This commit also fixes the error path in txq_init() to release the
> > resources properly.
> >
> > Fixes: 69ad0dd7af22 ("net: mv643xx_eth: Use dma_map_single() to map the skb fragments")
> > Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
>
> Russell, when you have some time, please test this patch. I think it
> solves the regression and it manages to unmap the descriptors properly.
Yes, this seems to work as well, thanks.
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply
* Re: [PATCH v2] net: stmmac: add BQL support
From: David Miller @ 2015-01-26 23:22 UTC (permalink / raw)
To: b.galvani; +Cc: peppe.cavallaro, f.fainelli, dave.taht, netdev, linux-kernel
In-Reply-To: <1421863647-20048-1-git-send-email-b.galvani@gmail.com>
From: Beniamino Galvani <b.galvani@gmail.com>
Date: Wed, 21 Jan 2015 19:07:27 +0100
> Add support for Byte Queue Limits to the STMicro MAC driver.
>
> Tested on a Amlogic S802 quad Cortex-A9 board, where the use of BQL
> decreases the latency of a high priority ping from ~12ms to ~1ms when
> the 100Mbit link is saturated by 20 TCP streams.
>
> Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Applied.
^ permalink raw reply
* Re: pull-request: can 2015-01-21
From: David Miller @ 2015-01-26 23:24 UTC (permalink / raw)
To: mkl; +Cc: netdev, linux-can, kernel
In-Reply-To: <1421876791-31014-1-git-send-email-mkl@pengutronix.de>
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 21 Jan 2015 22:46:30 +0100
> this is a pull request for v3.19, net/master, which consists of a single patch.
>
> Viktor Babrian fixes the issue in the c_can dirver, that the CAN interface
> might continue to send frames after the interface has been shut down.
Pulled, thanks Marc.
^ permalink raw reply
* Re: [PATCH 1/2] rhashtable: Introduce rhashtable_walk_*
From: Herbert Xu @ 2015-01-26 23:31 UTC (permalink / raw)
To: David Miller
Cc: David.Laight, tgraf, ying.xue, kaber, paulmck, netdev,
netfilter-devel
In-Reply-To: <20150126224216.GA30551@gondor.apana.org.au>
On Tue, Jan 27, 2015 at 09:42:16AM +1100, Herbert Xu wrote:
>
> As otherwise we'd be looking at fixing the existing users (in
> particular, nft_hash) properly which might take a lot more time.
I take that back. Looks like my walkers would be no good for
netfilter anyway since it wants to do nested walks, meaning no
locks can be taken.
So I think I'll just have to tackle netfilter first in which case
the walk function would be no use anyway since I could just fix
netlink by itself.
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* Re: pull-request: can-next 2015-21-01
From: David Miller @ 2015-01-26 23:42 UTC (permalink / raw)
To: mkl; +Cc: netdev, linux-can, kernel
In-Reply-To: <54C02F0B.7030509@pengutronix.de>
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 21 Jan 2015 23:58:19 +0100
> this is a pull request of 4 patches for net-next/master.
>
> Andri Yngvason contributes one patch to further consolidate the CAN
> state change handling. The next patch is by kbuild test robot/Fengguang
> Wu which fixes a coccinelle warning in the CAN infrastructure. The two
> last patches are by me, they remove a unused variable from the flexcan
> and at91_can driver.
Pulled, thanks Marc.
^ permalink raw reply
* Re: [PATCH net-next v14 0/5] openvswitch: Introduce 128-bit unique flow identifiers.
From: David Miller @ 2015-01-26 23:46 UTC (permalink / raw)
To: joestringer-l0M0P4e3n4LQT0dZR+AlfA
Cc: dev-yBygre7rU0TnMu66kgdUjQ, netdev-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1421887372-56414-1-git-send-email-joestringer-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
From: Joe Stringer <joestringer@nicira.com>
Date: Wed, 21 Jan 2015 16:42:47 -0800
> This series extends the openvswitch datapath interface for flow commands to use
> 128-bit unique identifiers as an alternative to the netlink-formatted flow key.
> This significantly reduces the cost of assembling messages between the kernel
> and userspace, in particular improving Open vSwitch revalidation performance by
> 40% or more.
Series applied, thanks.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
^ permalink raw reply
* Anyone have working cable for Intel 40GB Ethernet NIC?
From: Ben Greear @ 2015-01-27 0:03 UTC (permalink / raw)
To: netdev
I cannot find info on a direct-attached cable that is known to work..and the
one I bought is not accepted by the driver/NIC.
If anyone knows of a cable that works, please let me know
so I can order one.
Thanks,
Ben
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply
* Re: [net PATCH v2 1/1] drivers: net: cpsw: discard dual emac default vlan configuration
From: David Miller @ 2015-01-27 0:06 UTC (permalink / raw)
To: mugunthanvnm; +Cc: netdev, stable
In-Reply-To: <1421920162-13398-1-git-send-email-mugunthanvnm@ti.com>
From: Mugunthan V N <mugunthanvnm@ti.com>
Date: Thu, 22 Jan 2015 15:19:22 +0530
> In Dual EMAC, the default VLANs are used to segregate Rx packets between
> the ports, so adding the same default VLAN to the switch will affect the
> normal packet transfers. So returning error on addition of dual EMAC
> default VLANs.
>
> Even if EMAC 0 default port VLAN is added to EMAC 1, it will lead to
> break dual EMAC port separations.
>
> Fixes: d9ba8f9e6298 (driver: net: ethernet: cpsw: dual emac interface implementation)
> Cc: <stable@vger.kernel.org> # v3.9+
> Reported-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH net 0/2] Two cls_bpf fixes
From: David Miller @ 2015-01-26 23:50 UTC (permalink / raw)
To: dborkman; +Cc: jiri, netdev
In-Reply-To: <1421919662-21066-1-git-send-email-dborkman@redhat.com>
From: Daniel Borkmann <dborkman@redhat.com>
Date: Thu, 22 Jan 2015 10:41:00 +0100
> Found them while doing a review on act_bpf and going over the
> cls_bpf code again. Will also address the first issue in act_bpf
> as it needs to be fixed there, too.
Series applied, thanks.
^ permalink raw reply
* Re: [PATCH net-next 0/2] Minor cls_basic, act_bpf update
From: David Miller @ 2015-01-27 0:09 UTC (permalink / raw)
To: dborkman; +Cc: jiri, netdev
In-Reply-To: <1421920699-26556-1-git-send-email-dborkman@redhat.com>
From: Daniel Borkmann <dborkman@redhat.com>
Date: Thu, 22 Jan 2015 10:58:17 +0100
> Daniel Borkmann (2):
> net: cls_basic: return from walking on match in basic_get
> net: act_bpf: fix size mismatch on filter preparation
Seires applied, thanks.
^ permalink raw reply
* Re: pull-request: wireless-drivers-next 2015-01-22
From: David Miller @ 2015-01-27 0:12 UTC (permalink / raw)
To: kvalo-sgV2jX0FEOL9JmXXK+q4OQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <87h9vjnic4.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
From: Kalle Valo <kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Date: Thu, 22 Jan 2015 13:52:11 +0200
> now a bigger pull request for net-next. Rafal found a UTF-8 bug in
> patchwork[1] and because of that two commits (d0c102f70aec and
> d0f66df5392a) have his name corrupted:
>
> Acked-by: Rafa? Mi?ecki <zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>
> Somehow I failed to spot that when I commited the patches. As rebasing
> public git trees is bad, I thought we can live with these and decided
> not to rebase. But I'll pay close attention to this in the future to
> make sure that it won't happen again. Also we requested an update to
> patchwork.kernel.org, the latest patchwork doesn't seem to have this
> bug.
>
> Also please note this pull request also adds one DT binding doc, but
> this was reviewed in the device tree list:
>
> .../bindings/net/wireless/qcom,ath10k.txt | 30 +
>
> Please let me know if you have any issues.
Pulled, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH net 0/4] Fixes for sh_eth #2
From: David Miller @ 2015-01-27 0:13 UTC (permalink / raw)
To: ben.hutchings
Cc: netdev, linux-kernel, nobuhiro.iwamatsu.yj, mitsuhiro.kimura.kc,
hisashi.nakamura.ak, ykaneko0929
In-Reply-To: <1421930284.1222.285.camel@xylophone.i.decadent.org.uk>
From: Ben Hutchings <ben.hutchings@codethink.co.uk>
Date: Thu, 22 Jan 2015 12:38:04 +0000
> I'm continuing review and testing of Ethernet support on the R-Car H2
> chip. This series fixes more of the issues I've found, but it won't be
> the last set.
>
> These are not tested on any of the other supported chips.
Series applied, thanks Ben.
^ permalink raw reply
* Re: [PATCH v3] net: mv643xx_eth: Fix highmem support in non-TSO egress path
From: David Miller @ 2015-01-27 0:15 UTC (permalink / raw)
To: ezequiel.garcia; +Cc: linux, netdev, B38611, fabio.estevam, David.Laight
In-Reply-To: <1421937182-1708-1-git-send-email-ezequiel.garcia@free-electrons.com>
From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Date: Thu, 22 Jan 2015 11:33:02 -0300
> Commit 69ad0dd7af22b61d9e0e68e56b6290121618b0fb
> Author: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> Date: Mon May 19 13:59:59 2014 -0300
>
> net: mv643xx_eth: Use dma_map_single() to map the skb fragments
>
> caused a nasty regression by removing the support for highmem skb
> fragments. By using page_address() to get the address of a fragment's
> page, we are assuming a lowmem page. However, such assumption is incorrect,
> as fragments can be in highmem pages, resulting in very nasty issues.
>
> This commit fixes this by using the skb_frag_dma_map() helper,
> which takes care of mapping the skb fragment properly. Additionally,
> the type of mapping is now tracked, so it can be unmapped using
> dma_unmap_page or dma_unmap_single when appropriate.
>
> This commit also fixes the error path in txq_init() to release the
> resources properly.
>
> Fixes: 69ad0dd7af22 ("net: mv643xx_eth: Use dma_map_single() to map the skb fragments")
> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH 1/5] PCI: Add defines for max read request sizes
From: Bjorn Helgaas @ 2015-01-27 0:20 UTC (permalink / raw)
To: Rafał Miłecki
Cc: linux-pci, Matt Porter, Alexandre Bounine, Chris Metcalf,
Bradley Grove, linux-scsi, Realtek linux nic maintainers, netdev
In-Reply-To: <1422291922-12324-1-git-send-email-zajec5@gmail.com>
On Mon, Jan 26, 2015 at 06:05:22PM +0100, Rafał Miłecki wrote:
> There are few drivers using magic numbers when operating with PCIe
> capabilities and PCI_EXP_DEVCTL_READRQ. Define known values to allow
> cleaning their code a bit.
>
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
I applied this whole series, with acks from Alexandre and Chris, to
pci/misc for v3.20, thanks!
> ---
> include/uapi/linux/pci_regs.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h
> index 4a1d0cc..efe3443 100644
> --- a/include/uapi/linux/pci_regs.h
> +++ b/include/uapi/linux/pci_regs.h
> @@ -451,6 +451,10 @@
> #define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */
> #define PCI_EXP_DEVCTL_NOSNOOP_EN 0x0800 /* Enable No Snoop */
> #define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */
> +#define PCI_EXP_DEVCTL_READRQ_128B 0x0000 /* 128 Bytes */
> +#define PCI_EXP_DEVCTL_READRQ_256B 0x1000 /* 256 Bytes */
> +#define PCI_EXP_DEVCTL_READRQ_512B 0x2000 /* 512 Bytes */
> +#define PCI_EXP_DEVCTL_READRQ_1024B 0x3000 /* 1024 Bytes */
> #define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */
> #define PCI_EXP_DEVSTA 10 /* Device Status */
> #define PCI_EXP_DEVSTA_CED 0x0001 /* Correctable Error Detected */
> --
> 1.8.4.5
>
^ permalink raw reply
* Re: [PATCH 3/3] stmmac: Add an optional device tree property "snps,burst_len"
From: David Miller @ 2015-01-26 23:48 UTC (permalink / raw)
To: sonic.adi; +Cc: peppe.cavallaro, netdev, adi-buildroot-devel, sonic.zhang
In-Reply-To: <1421909758-31359-3-git-send-email-sonic.adi@gmail.com>
From: Sonic Zhang <sonic.adi@gmail.com>
Date: Thu, 22 Jan 2015 14:55:58 +0800
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> This property define the AXI bug lenth.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Applied.
^ permalink raw reply
* Re: [PATCH 2/3] stmmac: hardware TX COE doesn't work when force_thresh_dma_mode is set
From: David Miller @ 2015-01-26 23:48 UTC (permalink / raw)
To: sonic.adi; +Cc: peppe.cavallaro, netdev, adi-buildroot-devel, sonic.zhang
In-Reply-To: <1421909758-31359-2-git-send-email-sonic.adi@gmail.com>
From: Sonic Zhang <sonic.adi@gmail.com>
Date: Thu, 22 Jan 2015 14:55:57 +0800
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> Clear the TX COE bit when force_thresh_dma_mode is set even hardware
> dma capability says support.
>
> Tested on BF609.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Applied.
^ permalink raw reply
* Re: [PATCH 1/3] stmmac: if force_thresh_dma_mode is set, pass tc to both txmode and rxmode in tx_hard_error_bump_tc interrupt
From: David Miller @ 2015-01-26 23:48 UTC (permalink / raw)
To: sonic.adi; +Cc: peppe.cavallaro, netdev, adi-buildroot-devel, sonic.zhang
In-Reply-To: <1421909758-31359-1-git-send-email-sonic.adi@gmail.com>
From: Sonic Zhang <sonic.adi@gmail.com>
Date: Thu, 22 Jan 2015 14:55:56 +0800
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> Dont' pass SF_DMA_MODE to rxmode in this case.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next v2 1/5] bonding: update bond carrier state when min_links option changes
From: Jay Vosburgh @ 2015-01-27 0:29 UTC (permalink / raw)
To: Jonathan Toppins
Cc: Veaceslav Falico, Andy Gospodarek, netdev, Andy Gospodarek
In-Reply-To: <1422253021-3798-2-git-send-email-jtoppins@cumulusnetworks.com>
Jonathan Toppins <jtoppins@cumulusnetworks.com> wrote:
>Cc: Andy Gospodarek <gospo@cumulusnetworks.com>
>Signed-off-by: Jonathan Toppins <jtoppins@cumulusnetworks.com>
Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
> drivers/net/bonding/bond_main.c | 2 +-
> drivers/net/bonding/bond_options.c | 1 +
> include/net/bonding.h | 1 +
> 3 files changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index 0dceba1..02ffedb 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -334,7 +334,7 @@ static int bond_vlan_rx_kill_vid(struct net_device *bond_dev,
> *
> * Returns zero if carrier state does not change, nonzero if it does.
> */
>-static int bond_set_carrier(struct bonding *bond)
>+int bond_set_carrier(struct bonding *bond)
> {
> struct list_head *iter;
> struct slave *slave;
>diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
>index 9bd538d4..4df2894 100644
>--- a/drivers/net/bonding/bond_options.c
>+++ b/drivers/net/bonding/bond_options.c
>@@ -1181,6 +1181,7 @@ static int bond_option_min_links_set(struct bonding *bond,
> netdev_info(bond->dev, "Setting min links value to %llu\n",
> newval->value);
> bond->params.min_links = newval->value;
>+ bond_set_carrier(bond);
>
> return 0;
> }
>diff --git a/include/net/bonding.h b/include/net/bonding.h
>index 983a94b..29f53ea 100644
>--- a/include/net/bonding.h
>+++ b/include/net/bonding.h
>@@ -525,6 +525,7 @@ void bond_sysfs_slave_del(struct slave *slave);
> int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev);
> int bond_release(struct net_device *bond_dev, struct net_device *slave_dev);
> u32 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb);
>+int bond_set_carrier(struct bonding *bond);
> void bond_select_active_slave(struct bonding *bond);
> void bond_change_active_slave(struct bonding *bond, struct slave *new_active);
> void bond_create_debugfs(void);
>--
>1.7.10.4
>
^ permalink raw reply
* [PATCH net-next 0/4] net: phy: prevent double suspend
From: Florian Fainelli @ 2015-01-27 0:31 UTC (permalink / raw)
To: netdev; +Cc: davem, s.hauer, b38611, Florian Fainelli
Hi David, Fugang,
This patch series addresses a problem that Fugang and I observed on different
platforms where a given PHY device might end-up being suspended twice.
Once as part of the call from ndo_open() all the way down to phy_detach() and
phy_suspend() and a second time when the generic platform device/driver
suspend/resume callbacks are called in drivers/net/phy/mdio_bus.c.
Fugang, please test this as an alternative to your submission, since it did
break for me on GENET at least. Thanks!
Florian Fainelli (4):
net: phy: utilize phy_suspend and phy_resume
net: phy: document has_fixups field
net: phy: keep track of the PHY suspend state
net: phy: avoid suspending twice a PHY
drivers/net/phy/mdio_bus.c | 14 ++++++++------
drivers/net/phy/phy_device.c | 22 ++++++++++++++++++----
include/linux/phy.h | 3 +++
3 files changed, 29 insertions(+), 10 deletions(-)
--
2.1.0
^ permalink raw reply
* [PATCH net-next 1/4] net: phy: utilize phy_suspend and phy_resume
From: Florian Fainelli @ 2015-01-27 0:31 UTC (permalink / raw)
To: netdev; +Cc: davem, s.hauer, b38611, Florian Fainelli
In-Reply-To: <1422318673-9418-1-git-send-email-f.fainelli@gmail.com>
phy_suspend and phy_resume are an abstraction on top of the PHY device
driver suspend and resume callbacks, utilize those since they are the
proper interface to suspending and resuming a PHY device.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/phy/mdio_bus.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 50051f271b10..20447741893a 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -465,7 +465,6 @@ static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
static int mdio_bus_suspend(struct device *dev)
{
- struct phy_driver *phydrv = to_phy_driver(dev->driver);
struct phy_device *phydev = to_phy_device(dev);
/* We must stop the state machine manually, otherwise it stops out of
@@ -479,19 +478,18 @@ static int mdio_bus_suspend(struct device *dev)
if (!mdio_bus_phy_may_suspend(phydev))
return 0;
- return phydrv->suspend(phydev);
+ return phy_suspend(phydev);
}
static int mdio_bus_resume(struct device *dev)
{
- struct phy_driver *phydrv = to_phy_driver(dev->driver);
struct phy_device *phydev = to_phy_device(dev);
int ret;
if (!mdio_bus_phy_may_suspend(phydev))
goto no_resume;
- ret = phydrv->resume(phydev);
+ ret = phy_resume(phydev);
if (ret < 0)
return ret;
--
2.1.0
^ permalink raw reply related
* [PATCH net-next 2/4] net: phy: document has_fixups field
From: Florian Fainelli @ 2015-01-27 0:31 UTC (permalink / raw)
To: netdev; +Cc: davem, s.hauer, b38611, Florian Fainelli
In-Reply-To: <1422318673-9418-1-git-send-email-f.fainelli@gmail.com>
has_fixups was introduced to help keeping track of fixups/quirks running
on a PHY device, but we did not update the comment above struct
phy_device accordingly.
Fixes: b0ae009f3dc14 (net: phy: add "has_fixups" boolean property")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
include/linux/phy.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 9c189a1fa3a2..1b3690b597d5 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -327,6 +327,7 @@ struct phy_c45_device_ids {
* c45_ids: 802.3-c45 Device Identifers if is_c45.
* is_c45: Set to true if this phy uses clause 45 addressing.
* is_internal: Set to true if this phy is internal to a MAC.
+ * has_fixups: Set to true if this phy has fixups/quirks.
* state: state of the PHY for management purposes
* dev_flags: Device-specific flags used by the PHY driver.
* addr: Bus address of PHY
--
2.1.0
^ permalink raw reply related
* [PATCH net-next 3/4] net: phy: keep track of the PHY suspend state
From: Florian Fainelli @ 2015-01-27 0:31 UTC (permalink / raw)
To: netdev; +Cc: davem, s.hauer, b38611, Florian Fainelli
In-Reply-To: <1422318673-9418-1-git-send-email-f.fainelli@gmail.com>
In order to avoid double calls to phydev->drv->suspend and resume, keep
track of whether the PHY has already been suspended as a consequence of
a successful call to phy_suspend(). We will use this in our MDIO bus
suspend/resume hooks to avoid a double suspend call.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/phy/phy_device.c | 22 ++++++++++++++++++----
include/linux/phy.h | 2 ++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 3fc91e89f5a5..c90cecc0fe15 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -699,6 +699,7 @@ int phy_suspend(struct phy_device *phydev)
{
struct phy_driver *phydrv = to_phy_driver(phydev->dev.driver);
struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL };
+ int ret = 0;
/* If the device has WOL enabled, we cannot suspend the PHY */
phy_ethtool_get_wol(phydev, &wol);
@@ -706,18 +707,31 @@ int phy_suspend(struct phy_device *phydev)
return -EBUSY;
if (phydrv->suspend)
- return phydrv->suspend(phydev);
- return 0;
+ ret = phydrv->suspend(phydev);
+
+ if (ret)
+ return ret;
+
+ phydev->suspended = true;
+
+ return ret;
}
EXPORT_SYMBOL(phy_suspend);
int phy_resume(struct phy_device *phydev)
{
struct phy_driver *phydrv = to_phy_driver(phydev->dev.driver);
+ int ret;
if (phydrv->resume)
- return phydrv->resume(phydev);
- return 0;
+ ret = phydrv->resume(phydev);
+
+ if (ret)
+ return ret;
+
+ phydev->suspended = false;
+
+ return ret;
}
EXPORT_SYMBOL(phy_resume);
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 1b3690b597d5..685809835b5c 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -328,6 +328,7 @@ struct phy_c45_device_ids {
* is_c45: Set to true if this phy uses clause 45 addressing.
* is_internal: Set to true if this phy is internal to a MAC.
* has_fixups: Set to true if this phy has fixups/quirks.
+ * suspended: Set to true if this phy has been suspended successfully.
* state: state of the PHY for management purposes
* dev_flags: Device-specific flags used by the PHY driver.
* addr: Bus address of PHY
@@ -365,6 +366,7 @@ struct phy_device {
bool is_c45;
bool is_internal;
bool has_fixups;
+ bool suspended;
enum phy_state state;
--
2.1.0
^ permalink raw reply related
* [PATCH net-next 4/4] net: phy: avoid suspending twice a PHY
From: Florian Fainelli @ 2015-01-27 0:31 UTC (permalink / raw)
To: netdev; +Cc: davem, s.hauer, b38611, Florian Fainelli
In-Reply-To: <1422318673-9418-1-git-send-email-f.fainelli@gmail.com>
As part of a call to ndo_close() a netdevice driver may call
phy_disconnect() -> phy_detach() -> phy_suspend(), such that the PHY is
suspsended at this point and a netdevice driver may clock gate the
backing peripheral providing MDIO bus accessses as well.
Update mdio_bus_phy_may_suspend() to return whether a PHY is allowed to
be suspended and conversely resumed if and only if it was not previously
suspended before while it is currently in detached (netdev pointer is
NULL) state.
This fixes bus errors seen during S2/S3 suspend/resume cycles for
netdevice drivers such as GENET which clock gates the entire Ethernet
MAC, including the MDIO bus block.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/phy/mdio_bus.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 20447741893a..095ef3fe369a 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -443,9 +443,13 @@ static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
if (!drv || !phydrv->suspend)
return false;
- /* PHY not attached? May suspend. */
+ /* PHY not attached? May suspend if the PHY has not already been
+ * suspended as part of a prior call to phy_disconnect() ->
+ * phy_detach() -> phy_suspend() because the parent netdev might be the
+ * MDIO bus driver and clock gated at this point.
+ */
if (!netdev)
- return true;
+ return !phydev->suspended;
/* Don't suspend PHY if the attched netdev parent may wakeup.
* The parent may point to a PCI device, as in tg3 driver.
--
2.1.0
^ permalink raw reply related
* Re: [PATCH net-next v2 2/5] bonding: fix bond_open() don't always set slave active flag
From: Jay Vosburgh @ 2015-01-27 0:33 UTC (permalink / raw)
To: Jonathan Toppins
Cc: Veaceslav Falico, Andy Gospodarek, netdev, Wilson Kok,
Andy Gospodarek
In-Reply-To: <1422253021-3798-3-git-send-email-jtoppins@cumulusnetworks.com>
Jonathan Toppins <jtoppins@cumulusnetworks.com> wrote:
>From: Wilson Kok <wkok@cumulusnetworks.com>
>
>Mode 802.3ad, fix incorrect bond slave active state when slave is not in
>active aggregator. During bond_open(), the bonding driver always sets
>the slave active flag to true if the bond is not in active-backup, alb,
>or tlb modes. Bonding should let the aggregator selection logic set the
>active flag when in 802.3ad mode.
>
>Cc: Andy Gospodarek <gospo@cumulusnetworks.com>
>Reviewed-by: Nikolay Aleksandrov <nikolay@redhat.com>
>Signed-off-by: Wilson Kok <wkok@cumulusnetworks.com>
>Signed-off-by: Jonathan Toppins <jtoppins@cumulusnetworks.com>
Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
>---
> drivers/net/bonding/bond_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index 02ffedb..c475d90 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -3066,7 +3066,7 @@ static int bond_open(struct net_device *bond_dev)
> slave != rcu_access_pointer(bond->curr_active_slave)) {
> bond_set_slave_inactive_flags(slave,
> BOND_SLAVE_NOTIFY_NOW);
>- } else {
>+ } else if (BOND_MODE(bond) != BOND_MODE_8023AD) {
> bond_set_slave_active_flags(slave,
> BOND_SLAVE_NOTIFY_NOW);
> }
>--
>1.7.10.4
>
^ permalink raw reply
* Re: Anyone have working cable for Intel 40GB Ethernet NIC?
From: Greg Rose @ 2015-01-27 0:39 UTC (permalink / raw)
To: Ben Greear; +Cc: netdev
In-Reply-To: <54C6D5E7.30906@candelatech.com>
On Mon, Jan 26, 2015 at 4:03 PM, Ben Greear <greearb@candelatech.com> wrote:
> I cannot find info on a direct-attached cable that is known to work..and the
> one I bought is not accepted by the driver/NIC.
>
> If anyone knows of a cable that works, please let me know
> so I can order one.
>
> Thanks,
> Ben
The cable I'm using here is a QSFP+ DA cable made by Amphenol. The
part # G47684-001.
Hope that helps.
- Greg Rose
Intel Corp.
Networking Division
<gregory.v.rose@intel.com>
>
> --
> Ben Greear <greearb@candelatech.com>
> Candela Technologies Inc http://www.candelatech.com
>
> --
> 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
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox