02 Aug, 2013

1 commit

  • Remove HV_DRV_VERSION, it has no meaning for upstream drivers.

    Initially it was supposed to show the "Linux Integration Services"
    version, now it is not in sync anymore with the out-of-tree drivers
    available from the MSFT website.

    The only place where a version string is still required is the KVP
    command "IntegrationServicesVersion" which is handled by
    tools/hv/hv_kvp_daemon.c. To satisfy such KVP request from the host pass
    the current string to the daemon during KVP userland registration.

    Signed-off-by: Olaf Hering
    Acked-by: K. Y. Srinivasan
    Signed-off-by: Greg Kroah-Hartman

    Olaf Hering
     

17 Jul, 2013

1 commit

  • SG mode is not currently supported by netvsc, so remove this flag for now.
    Otherwise, it will be unconditionally enabled by commit ec5f0615642
    "Kill link between CSUM and SG features"
    Previously, the SG feature is disabled because CSUM is not set here.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

18 Jun, 2013

1 commit


01 Jun, 2013

1 commit


30 Apr, 2013

1 commit

  • Fixed: warning: cast from pointer to integer of different size

    The Hyper-V hosts always use 64 bit request id. The guests can have 32 or 64
    bit pointers which equal to the ulong type size. So we cast it to ulong type.
    And, assigning 32bit integer to 64 bit variable works fine.

    The VMBus returns the same id in the completion packet. But the value has no
    effect on the host side.

    Reported-by: kbuild test robot
    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

23 Apr, 2013

1 commit

  • Conflicts:
    drivers/net/ethernet/emulex/benet/be_main.c
    drivers/net/ethernet/intel/igb/igb_main.c
    drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
    include/net/scm.h
    net/batman-adv/routing.c
    net/ipv4/tcp_input.c

    The e{uid,gid} --> {uid,gid} credentials fix conflicted with the
    cleanup in net-next to now pass cred structs around.

    The be2net driver had a bug fix in 'net' that overlapped with the VLAN
    interface changes by Patrick McHardy in net-next.

    An IGB conflict existed because in 'net' the build_skb() support was
    reverted, and in 'net-next' there was a comment style fix within that
    code.

    Several batman-adv conflicts were resolved by making sure that all
    calls to batadv_is_my_mac() are changed to have a new bat_priv first
    argument.

    Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO
    rewrite in 'net-next', mostly overlapping changes.

    Thanks to Stephen Rothwell and Antonio Quartulli for help with several
    of these merge resolutions.

    Signed-off-by: David S. Miller

    David S. Miller
     

20 Apr, 2013

1 commit


09 Apr, 2013

2 commits

  • In some cases, the VM_PKT_COMP message can arrive later than RNDIS completion
    message, which will free the packet memory. This may cause panic due to access
    to freed memory in netvsc_send_completion().

    This patch fixes this problem by removing rndis_filter_send_request_completion()
    from the code path. The function was a no-op.

    Reported-by: Long Li
    Tested-by: Long Li
    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     
  • The warning about local_bh_enable inside IRQ happens when disconnecting a
    virtual NIC.

    The reason for the warning is -- netif_tx_disable() is called when the NIC
    is disconnected. And it's called within irq context. netif_tx_disable() calls
    local_bh_enable() which displays warning if in irq.

    The fix is to remove the unnecessary netif_tx_disable & wake_queue() in the
    netvsc_linkstatus_callback().

    Reported-by: Richard Genoud
    Tested-by: Long Li
    Tested-by: Richard Genoud
    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

22 Feb, 2013

1 commit

  • Pull char/misc driver patches from Greg Kroah-Hartman:
    "Here's the big char/misc driver patches for 3.9-rc1.

    Nothing major here, just lots of different driver updates (mei,
    hyperv, ipack, extcon, vmci, etc.).

    All of these have been in the linux-next tree for a while."

    * tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (209 commits)
    w1: w1_therm: Add force-pullup option for "broken" sensors
    w1: ds2482: Added 1-Wire pull-up support to the driver
    vme: add missing put_device() after device_register() fails
    extcon: max8997: Use workqueue to check cable state after completing boot of platform
    extcon: max8997: Set default UART/USB path on probe
    extcon: max8997: Consolidate duplicate code for checking ADC/CHG cable type
    extcon: max8997: Set default of ADC debounce time during initialization
    extcon: max8997: Remove duplicate code related to set H/W line path
    extcon: max8997: Move defined constant to header file
    extcon: max77693: Make max77693_extcon_cable static
    extcon: max8997: Remove unreachable code
    extcon: max8997: Make max8997_extcon_cable static
    extcon: max77693: Remove unnecessary goto statement to improve readability
    extcon: max77693: Convert to devm_input_allocate_device()
    extcon: gpio: Rename filename of extcon-gpio.c according to kernel naming style
    CREDITS: update email and address of Harald Hoyer
    extcon: arizona: Use MICDET for final microphone identification
    extcon: arizona: Always take the first HPDET reading as the final one
    extcon: arizona: Clear _trig_sts bits after jack detection
    extcon: arizona: Don't HPDET magic when headphones are enabled
    ...

    Linus Torvalds
     

30 Jan, 2013

1 commit


26 Jan, 2013

1 commit


20 Jan, 2013

1 commit


07 Jan, 2013

1 commit

  • Use strlcpy where possible to ensure the string is \0 terminated.
    Use always sizeof(string) instead of 32, ETHTOOL_BUSINFO_LEN
    and custom defines.
    Use snprintf instead of sprint.
    Remove unnecessary inits of ->fw_version
    Remove unnecessary inits of drvinfo struct.

    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     

01 Dec, 2012

1 commit


22 Oct, 2012

1 commit


03 Oct, 2012

6 commits


15 Aug, 2012

1 commit

  • I believe net/core/dev.c is a better place for netif_notify_peers(),
    because other net event notify functions also stay in this file.

    And rename it to netdev_notify_peers().

    Cc: David S. Miller
    Cc: Ian Campbell
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     

10 Aug, 2012

1 commit


04 Aug, 2012

1 commit


26 Jul, 2012

2 commits


17 Jul, 2012

1 commit

  • This adds support for setting synthetic NIC MAC address from within Linux
    guests. Before using this feature, the option "spoofing of MAC address"
    should be enabled at the Hyper-V manager / Settings of the synthetic
    NIC.

    Thanks to Kin Cho for the initial implementation and
    tests. And, thanks to Long Li for the debugging
    works.

    Reported-and-tested-by: Kin Cho
    Reported-by: Long Li
    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

07 Jun, 2012

2 commits


05 Jun, 2012

1 commit


13 May, 2012

3 commits

  • Switch the hyperv filter and rndis gadget driver to use the same command
    enumerators as the other drivers and delete the surplus command codes.

    Reviewed-by: Haiyang Zhang
    Signed-off-by: Linus Walleij
    Signed-off-by: David S. Miller

    Linus Walleij
     
  • The RNDIS status codes are redefined with much stranged ifdeffery
    and only one of these codes was used in the hyperv driver, and
    there it is very clearly referring to the RNDIS variant, not some
    other status. So clarify this by explictly using the RNDIS_*
    prefixed status code in the hyperv drivera and delete the
    duplicate defines.

    Reviewed-by: Haiyang Zhang
    Signed-off-by: Linus Walleij
    Signed-off-by: David S. Miller

    Linus Walleij
     
  • As a first step to consolidate the RNDIS implementations, break out
    a common file with all the #defines and move it to .

    This also deletes the immediate duplicated defines in the
    file that yields a lot of compilation warnings.

    Reviewed-by: Haiyang Zhang
    Signed-off-by: Linus Walleij
    Signed-off-by: David S. Miller

    Linus Walleij
     

24 Apr, 2012

1 commit


22 Apr, 2012

1 commit

  • Although the network interface is down, the RX packets number which
    could be observed by ifconfig may keep on increasing.

    This is because the WORK scheduled in netvsc_set_multicast_list()
    may be executed after netvsc_close(). That means the rndis filter
    may be re-enabled by do_set_multicast() even if it was closed by
    netvsc_close().

    By canceling possible WORK before close the rndis filter, the issue
    could be never happened.

    Signed-off-by: Wenqi Ma
    Reviewed-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wenqi Ma
     

04 Apr, 2012

1 commit

  • In the existing code, we only stop queue when the ringbuffer is full,
    so the current packet has to be dropped or retried from upper layer.

    This patch stops the tx queue when available ringbuffer is below
    the low watermark. So the ringbuffer still has small amount of space
    available for the current packet. This will reduce the overhead of
    retries on sending.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

20 Mar, 2012

1 commit

  • Instead of dropping the packet, we keep the skb buffer, and return
    NETDEV_TX_BUSY to let upper layer retry send. This will not cause
    endless loop, because the host is taking data away from ring buffer,
    and we have called the stop_queue before returning NETDEV_TX_BUSY.

    The stop_queue was called in the function netvsc_send() in file
    netvsc.c, then it returns to rndis_filter_send(), which returns to
    netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
    indeed returned AFTER queue is stopped.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

19 Mar, 2012

1 commit


16 Mar, 2012

1 commit

  • A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY,
    since caller is going to reuse freed skb.

    This is mostly a revert of commit bf769375c (staging: hv: fix the return
    status of netvsc_start_xmit())

    In fact netif_tx_stop_queue() / netif_stop_queue() is needed before
    returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop.

    In case of memory allocation error, only safe way is to drop the packet
    and return NETDEV_TX_OK

    Signed-off-by: Eric Dumazet
    Cc: "K. Y. Srinivasan"
    Cc: Haiyang Zhang
    Cc: Greg Kroah-Hartman
    Reviewed-by: Haiyang Zhang
    Signed-off-by: David S. Miller

    Eric Dumazet