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

    Joonyoung Shim
     

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

    Emil Goode
     

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

    Paul Gortmaker
     

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

    Jeff Kirsher
     

26 Mar, 2013

1 commit


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

    Ming Lei
     
  • 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

    Ming Lei
     
  • 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

    Ming Lei
     

05 Feb, 2013

1 commit


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

    Steve Glendinning
     
  • 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

    Steve Glendinning
     

11 Dec, 2012

2 commits


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

    Steve Glendinning
     
  • 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

    Steve Glendinning
     
  • 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

    Steve Glendinning
     
  • 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

    Steve Glendinning
     
  • 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

    Steve Glendinning
     

26 Nov, 2012

1 commit


24 Nov, 2012

4 commits


18 Nov, 2012

1 commit


14 Nov, 2012

1 commit


11 Nov, 2012

1 commit


07 Nov, 2012

2 commits


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

    Steve Glendinning
     

01 Nov, 2012

1 commit


26 Oct, 2012

1 commit


29 Sep, 2012

6 commits


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
    ...

    Linus Torvalds
     

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

    Steve Glendinning
     
  • 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

    Joe Perches