10 Jul, 2014
1 commit
-
The smsc95xx needs to resume with reset operation. Otherwise it causes
system hang by network error like below after resume. This case appears
on odroid u3 board.[ 9.727600] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 9.727648] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 9.727689] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 9.727728] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 9.729486] PM: resume of devices complete after 2011.219 msecs
[ 10.117609] Restarting tasks ... done.
[ 11.725099] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 13.480846] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[ 13.481361] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
...Signed-off-by: Joonyoung Shim
Signed-off-by: David S. Miller
18 Feb, 2014
1 commit
-
This patch removes a generic hard_header_len check from the usbnet
module that is causing dropped packages under certain circumstances
for devices that send rx packets that cross urb boundaries.One example is the AX88772B which occasionally send rx packets that
cross urb boundaries where the remaining partial packet is sent with
no hardware header. When the buffer with a partial packet is of less
number of octets than the value of hard_header_len the buffer is
discarded by the usbnet module.With AX88772B this can be reproduced by using ping with a packet
size between 1965-1976.The bug has been reported here:
https://bugzilla.kernel.org/show_bug.cgi?id=29082
This patch introduces the following changes:
- Removes the generic hard_header_len check in the rx_complete
function in the usbnet module.
- Introduces a ETH_HLEN check for skbs that are not cloned from
within a rx_fixup callback.
- For safety a hard_header_len check is added to each rx_fixup
callback function that could be affected by this change.
These extra checks could possibly be removed by someone
who has the hardware to test.
- Removes a call to dev_kfree_skb_any() and instead utilizes the
dev->done list to queue skbs for cleanup.The changes place full responsibility on the rx_fixup callback
functions that clone skbs to only pass valid skbs to the
usbnet_skb_return function.Signed-off-by: Emil Goode
Reported-by: Igor Gnatenko
Signed-off-by: David S. Miller
17 Jan, 2014
1 commit
-
None of these files are actually using any __init type directives
and hence don't need to include . Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.This covers everything under drivers/net except for wireless, which
has been submitted separately.Signed-off-by: Paul Gortmaker
Signed-off-by: David S. Miller
07 Dec, 2013
1 commit
-
Several files refer to an old address for the Free Software Foundation
in the file header comment. Resolve by replacing the address with
the URL so that we do not have to keep
updating the header comments anytime the address changes.CC: Oliver Neukum
CC: Steve Glendinning
CC: Oliver Neukum
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller
26 Mar, 2013
1 commit
-
If suspend callback fails in system sleep context, usb core will
ignore the failure and let system sleep go ahead further, so
this patch doesn't recover device under this situation.Also add comments on the case.
Acked-by: David S. Miller
Cc: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: Greg Kroah-Hartman
26 Feb, 2013
3 commits
-
The name of FEATURE_AUTOSUSPEND is very misleading and the actual
meaning is remote wakeup, but a device incapable of remote wakeup
still can support USB autosuspend under some situations, so rename
it to avoid misunderstanding.Cc: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller -
Commit b2d4b150(smsc95xx: enable dynamic autosuspend) implements
autosuspend, but breaks current runtime suspend, such as:
when the interface becomes down, the usb device can't be put into
runtime suspend any more.This patch fixes the broken runtime suspend.
Cc: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller -
The three below functions:
smsc95xx_enter_suspend0()
smsc95xx_enter_suspend1()
smsc95xx_enter_suspend2()return > 0 in case of success, so they will cause smsc95xx_suspend()
to return > 0 and cause suspend failure.The bug is introduced in commit 3b9f7d(smsc95xx: fix error handling
in suspend failure case).Cc: [3.8]
Cc: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller
05 Feb, 2013
1 commit
-
alloc failures already get standardized OOM
messages and a dump_stack.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller
05 Jan, 2013
2 commits
-
This patch enables USB dynamic autosuspend for LAN9500A. This
saves very little power in itself, but it allows power saving
in upstream hubs/hosts.The earlier devices in this family (LAN9500/9512/9514) do not
support this feature.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
The register read/write functions already log a warning if
an access fails, so this patch removes the additional warnings
logged by callers that don't add any more information.This patch makes the resulting driver smaller by not containing
as many warning strings.Signed-off-by: Joe Perches
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
11 Dec, 2012
2 commits
-
This patch fixes a missing endian conversion which results in the
interface failing to come up on BE platforms.It also removes an unnecessary pointer dereference from this
function.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch fixes the ethtool register dump for smsc95xx to dump
all 4 bytes of the final register (COE_CR) instead of just the
first byte.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
01 Dec, 2012
5 commits
-
These macros, while reducing the amount of code, hide flow control
and make the code more confusing to follow and review. This patch
expands them. It should have no functional effect on the driver.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch fixes a bug introduced in bbd9f9e which could prevent
some wakeups from working correctly if multiple wol options were
selected.This helper function calculates a 16-bit crc and shifts it into
either the high or low 16 bits of a u32 so the caller can or it
directly into place. The function previously had a u16 return
type so would always have returned zero when filter was odd.Signed-off-by: Steve Glendinning
Reported-by: Bjorn Mork
Cc: Joe Perches
Signed-off-by: David S. Miller -
As pointed out by Bjorn Mork, the generic "usb" driver sets this
for us so no need to directly set it in this driver.Signed-off-by: Steve Glendinning
Cc: Bjorn Mork
Signed-off-by: David S. Miller -
This patch ensures that if we fail to suspend the LAN9500 device
we call usbnet_resume before returning failure, instead of
leaving the usbnet driver in an unusable state.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch fixes a buffer overflow introduced by bbd9f9e, where
the filter_mask array is accessed beyond its bounds.Updated to also add a check for kzalloc failure, as reported by
Bjorn Mork and Joe Perches.Reported-by: Dan Carpenter
Signed-off-by: Steve Glendinning
Cc: Bjorn Mork
Cc: Joe Perches
Signed-off-by: David S. Miller
26 Nov, 2012
1 commit
-
Avoid any possible message logging interleaving by adding
missing newlines.Align arguments.
Signed-off-by: Joe Perches
Signed-off-by: David S. Miller
24 Nov, 2012
4 commits
-
This patch splits out the logic for entering suspend modes
to separate functions, to reduce the complexity of the
smsc95xx_suspend function.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch enables LAN9500 family devices to wake from suspend
on either link up or link down eventsIt also adds _nopm versions of mdio access functions, so we can
safely call them from suspend and resume functionsSigned-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
Instead of storing the number of wake-up frame filter registers
in the pdata structure, this patch changes the driver to detect
the type of device we have and store its available features.The new two features will be used in future patches.
This patch is intended to have no change in behaviour.
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
without this patch the two lines below won't ever execute
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
18 Nov, 2012
1 commit
-
Minor line offset auto-merges.
Signed-off-by: David S. Miller
14 Nov, 2012
1 commit
-
The device datasheet specifies the BUSY bit must be set when reading
or writing phy registers. This patch ensures we do that.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
11 Nov, 2012
1 commit
-
Conflicts:
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.cMinor conflict between the BCM_CNIC define removal in net-next
and a bug fix added to net. Based upon a conflict resolution
patch posted by Stephen Rothwell.Signed-off-by: David S. Miller
07 Nov, 2012
2 commits
-
This patch applies the introduced usbnet_read_cmd_nopm() and
usbnet_write_cmd_nopm() in the callback of resume and suspend
to avoid deadlock if USB runtime PM is considered into
usbnet_read_cmd() and usbnet_write_cmd().Cc: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller -
This patch fixes memory leak in smsc95xx_suspend.
Also, it isn't necessary to bother mm to allocate 8bytes/16byte,
and we can use stack variable safely.Acked-By: Steve Glendinning
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller
04 Nov, 2012
1 commit
-
f7b2927 introduced tx checksum offload support for smsc95xx,
and enabled it by default. This feature doesn't take
endianness into account, so causes most tx to fail on
those platforms.This patch fixes the problem fully by adding the missing
conversion.An alternate workaround is to disable TX checksum offload
on those platforms. The cpu impact of this feature is very low.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
01 Nov, 2012
1 commit
-
This patch adds support for wol wakeup on unicast, broadcast,
multicast and arp frames.The wakeup filter code isn't pretty, but it works.
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
26 Oct, 2012
1 commit
-
Acked-by: Oliver Neukum
Signed-off-by: Ming Lei
Signed-off-by: David S. Miller
29 Sep, 2012
6 commits
-
This patch enables wake from system suspend on magic packet.
Patch updated to replace BUG_ON with WARN_ON_ONCE and return.
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch enables the device to enter its lowest power SUSPEND2
state during system suspend, instead of staying up using full power.Patch updated to not add two pointers to .suspend & .resume.
Patch updated to replace BUG_ON with WARN_ON_ONCE and return.
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch fixes an issue on some systems, where after suspend the
link is re-established but the ethernet interface does not resume.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch adds additional checks of the values returned by
smsc95xx_(read|write)_reg, and wraps their common patterns
in macros.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
Removes unnecessary variables as smsc95xx_write_reg takes its
value by parameter. Early versions passed this parameter by
reference.Also replace hardcoded interrupt status value with a #define
Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
During init, the device reset is unexpected to complete immediately,
so sleep before testing the condition rather than after it.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
25 Jul, 2012
1 commit
-
Pull trivial tree from Jiri Kosina:
"Trivial updates all over the place as usual."* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)
Fix typo in include/linux/clk.h .
pci: hotplug: Fix typo in pci
iommu: Fix typo in iommu
video: Fix typo in drivers/video
Documentation: Add newline at end-of-file to files lacking one
arm,unicore32: Remove obsolete "select MISC_DEVICES"
module.c: spelling s/postition/position/g
cpufreq: Fix typo in cpufreq driver
trivial: typo in comment in mksysmap
mach-omap2: Fix typo in debug message and comment
scsi: aha152x: Fix sparse warning and make printing pointer address more portable.
Change email address for Steve Glendinning
Btrfs: fix typo in convert_extent_bit
via: Remove bogus if check
netprio_cgroup.c: fix comment typo
backlight: fix memory leak on obscure error path
Documentation: asus-laptop.txt references an obsolete Kconfig item
Documentation: ManagementStyle: fixed typo
mm/vmscan: cleanup comment error in balance_pgdat
mm: cleanup on the comments of zone_reclaim_stat
...
17 Jul, 2012
2 commits
-
I no longer have a mailbox at smsc.com, and I've had two reports
that that email address now bounces from people trying to
contact me. This patch updates all references to that invalid
address to one that I can be contacted on more permanently.This patch also updates the maintainer status to reflect
the fact I'm no longer directly paid to maintain these drivers.Signed-off-by: Steve Glendinning
Signed-off-by: Jiri Kosina -
Convert the existing uses of random_ether_addr to
the new eth_random_addr.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller