Arun Parameswaran
f96dee13b8
net: core: 'ethtool' issue with querying phy settings
...
When trying to configure the settings for PHY1, using commands
like 'ethtool -s eth0 phyad 1 speed 100', the 'ethtool' seems to
modify other settings apart from the speed of the PHY1, in the
above case.
The ethtool seems to query the settings for PHY0, and use this
as the base to apply the new settings to the PHY1. This is
causing the other settings of the PHY 1 to be wrongly
configured.
The issue is caused by the '_ethtool_get_settings()' API, which
gets called because of the 'ETHTOOL_GSET' command, is clearing
the 'cmd' pointer (of type 'struct ethtool_cmd') by calling
memset. This clears all the parameters (if any) passed for the
'ETHTOOL_GSET' cmd. So the driver's callback is always invoked
with 'cmd->phy_address' as '0'.
The '_ethtool_get_settings()' is called from other files in the
'net/core'. So the fix is applied to the 'ethtool_get_settings()'
which is only called in the context of the 'ethtool'.
Signed-off-by: Arun Parameswaran <aparames@broadcom.com>
Reviewed-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-22 16:14:17 -04:00
..
datagram.c
new helper: msg_data_left()
2015-04-11 15:53:35 -04:00
dev.c
net: core: Correct an over-stringent device loop detection.
2015-05-04 14:57:59 -04:00
dev_addr_lists.c
net: fix spelling for synchronized
2014-11-18 15:26:32 -05:00
dev_ioctl.c
dev_ioctl: use sizeof(x) instead of sizeof x
2014-11-18 15:27:32 -05:00
drop_monitor.c
net: Replace get_cpu_var through this_cpu_ptr
2014-08-26 13:45:47 -04:00
dst.c
dst: no need to take reference on DST_NOCACHE dsts
2014-12-09 16:08:17 -05:00
ethtool.c
net: core: 'ethtool' issue with querying phy settings
2015-05-22 16:14:17 -04:00
fib_rules.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-04-06 22:34:15 -04:00
filter.c
bpf: fix bpf helpers to use skb->mac_header relative offsets
2015-04-16 14:08:49 -04:00
flow.c
flowcache: Fix kernel panic in flow_cache_flush_task
2015-02-05 14:38:53 -08:00
flow_dissector.c
xps: fix xps for stacked devices
2015-02-04 13:02:54 -08:00
gen_estimator.c
net: sched: make bstats per cpu and estimator RCU safe
2014-09-30 01:02:26 -04:00
gen_stats.c
gen_stats.c: Duplicate xstats buffer for later use
2015-02-19 15:45:53 -05:00
link_watch.c
dev: introduce dev_get_iflink()
2015-04-02 14:04:59 -04:00
Makefile
net: bury net/core/iovec.c - nothing in there is used anymore
2015-02-04 01:34:15 -05:00
neighbour.c
net: neighbour: Add mcast_resolicit to configure the number of multicast resolicitations in PROBE state.
2015-03-20 21:47:40 -04:00
net-procfs.c
rps: selective flow shedding during softnet overflow
2013-05-20 13:48:04 -07:00
net-sysfs.c
dev: introduce dev_get_iflink()
2015-04-02 14:04:59 -04:00
net-sysfs.h
net: netdev_kobject_init: annotate with __init
2014-01-05 20:27:54 -05:00
net-traces.c
net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules
2011-10-31 19:30:30 -04:00
net_namespace.c
netns: return RTM_NEWNSID instead of RTM_GETNSID on a get
2015-05-12 18:53:25 -04:00
netclassid_cgroup.c
cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
2014-07-15 11:05:09 -04:00
netevent.c
net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules
2011-10-31 19:30:30 -04:00
netpoll.c
net: rename vlan_tx_* helpers since "tx" is misleading there
2015-01-13 17:51:08 -05:00
netprio_cgroup.c
cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
2014-07-15 11:05:09 -04:00
pktgen.c
net: pktgen: disable xmit_clone on virtual devices
2015-02-22 22:43:20 -05:00
ptp_classifier.c
net: filter: split 'struct sk_filter' into socket and bpf parts
2014-08-02 15:03:58 -07:00
request_sock.c
net: convert syn_wait_lock to a spinlock
2015-03-23 16:52:26 -04:00
rtnetlink.c
rtnl/bond: don't send rtnl msg for unregistered iface
2015-05-17 22:43:07 -04:00
scm.c
net: introduce helper macro for_each_cmsghdr
2014-12-10 22:41:55 -05:00
secure_seq.c
net: use ktime_get_ns() and ktime_get_real_ns() helpers
2014-08-22 19:57:23 -07:00
skbuff.c
net: fix crash in build_skb()
2015-04-25 15:49:49 -04:00
sock.c
Revert "net: kernel socket should be released in init_net namespace"
2015-05-04 00:13:16 -04:00
sock_diag.c
net: add real socket cookies
2015-03-11 21:55:28 -04:00
stream.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sysctl_net_core.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-03-20 18:51:09 -04:00
timestamping.c
net-timestamp: Make the clone operation stand-alone from phy timestamping
2014-09-05 17:43:45 -07:00
tso.c
net: tso: fix unaligned access to crafted TCP header in helper API
2014-10-22 12:52:55 -04:00
utils.c
net: Convert LIMIT_NETDEBUG to net_dbg_ratelimited
2014-11-11 14:10:31 -05:00