1. 02 Oct, 2012 3 commits
  2. 21 Sep, 2012 8 commits
    • Pablo Neira Ayuso's avatar
      netlink: use <linux/export.h> instead of <linux/module.h> · abb17e6c
      Pablo Neira Ayuso authored
      Since (9f00d977 netlink: hide struct module parameter in netlink_kernel_create),
      linux/netlink.h includes linux/module.h because of the use of THIS_MODULE.
      
      Use linux/export.h instead, as suggested by Stephen Rothwell, which is
      significantly smaller and defines THIS_MODULES.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      abb17e6c
    • David S. Miller's avatar
      sunbmac: Remove unused local variable. · 0bfd6075
      David S. Miller authored
      Commit eb716c54 ("sunbmac: remove
      unnecessary setting of skb->dev") caused the local varible 'dev'
      in bigmac_init_rings to become unused.  And now the compiler
      warns about it.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0bfd6075
    • Jiri Pirko's avatar
      team: send port changed when added · 10f3f51d
      Jiri Pirko authored
      On some hw, link is not up during adding iface to team. That causes event
      not being sent to userspace and that may cause confusion.
      Fix this bug by sending port changed event once it's added to team.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10f3f51d
    • Christoph Fritz's avatar
      ipconfig: add nameserver IPs to kernel-parameter ip= · 5e953778
      Christoph Fritz authored
      On small systems (e.g. embedded ones) IP addresses are often configured
      by bootloaders and get assigned to kernel via parameter "ip=".  If set to
      "ip=dhcp", even nameserver entries from DHCP daemons are handled. These
      entries exported in /proc/net/pnp are commonly linked by /etc/resolv.conf.
      
      To configure nameservers for networks without DHCP, this patch adds option
      <dns0-ip> and <dns1-ip> to kernel-parameter 'ip='.
      Signed-off-by: default avatarChristoph Fritz <chf.fritz@googlemail.com>
      Tested-by: default avatarJan Weitzel <j.weitzel@phytec.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e953778
    • Bjørn Mork's avatar
      net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200 · 42d94dcb
      Bjørn Mork authored
      One of the modes of Huawei E367 has this QMI/wwan interface:
      
       I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=07 Driver=(none)
       E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
       E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      
      Huawei use subclass and protocol to identify vendor specific
      functions, so adding a new vendor rule for this combination.
      
      The Pantech devices UML290 (106c:3718) and P4200 (106c:3721) use
      the same subclass to identify the QMI/wwan function.  Replace the
      existing device specific UML290 entries with generic vendor matching,
      adding support for the Pantech P4200.
      
      The ZTE MF683 has 6 vendor specific interfaces, all using
      ff/ff/ff for cls/sub/prot.  Adding a match on interface #5 which
      is a QMI/wwan interface.
      
      Cc: Fangxiaozhi (Franko) <fangxiaozhi@huawei.com>
      Cc: Thomas Schäfer <tschaefer@t-online.de>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Shawn J. Goff <shawn7400@gmail.com>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42d94dcb
    • Amerigo Wang's avatar
      l2tp: fix compile error when CONFIG_IPV6=m and CONFIG_L2TP=y · fc181625
      Amerigo Wang authored
      When CONFIG_IPV6=m and CONFIG_L2TP=y, I got the following compile error:
      
        LD      init/built-in.o
      net/built-in.o: In function `l2tp_xmit_core':
      l2tp_core.c:(.text+0x147781): undefined reference to `inet6_csk_xmit'
      net/built-in.o: In function `l2tp_tunnel_create':
      (.text+0x149067): undefined reference to `udpv6_encap_enable'
      net/built-in.o: In function `l2tp_ip6_recvmsg':
      l2tp_ip6.c:(.text+0x14e991): undefined reference to `ipv6_recv_error'
      net/built-in.o: In function `l2tp_ip6_sendmsg':
      l2tp_ip6.c:(.text+0x14ec64): undefined reference to `fl6_sock_lookup'
      l2tp_ip6.c:(.text+0x14ed6b): undefined reference to `datagram_send_ctl'
      l2tp_ip6.c:(.text+0x14eda0): undefined reference to `fl6_sock_lookup'
      l2tp_ip6.c:(.text+0x14ede5): undefined reference to `fl6_merge_options'
      l2tp_ip6.c:(.text+0x14edf4): undefined reference to `ipv6_fixup_options'
      l2tp_ip6.c:(.text+0x14ee5d): undefined reference to `fl6_update_dst'
      l2tp_ip6.c:(.text+0x14eea3): undefined reference to `ip6_dst_lookup_flow'
      l2tp_ip6.c:(.text+0x14eee7): undefined reference to `ip6_dst_hoplimit'
      l2tp_ip6.c:(.text+0x14ef8b): undefined reference to `ip6_append_data'
      l2tp_ip6.c:(.text+0x14ef9d): undefined reference to `ip6_flush_pending_frames'
      l2tp_ip6.c:(.text+0x14efe2): undefined reference to `ip6_push_pending_frames'
      net/built-in.o: In function `l2tp_ip6_destroy_sock':
      l2tp_ip6.c:(.text+0x14f090): undefined reference to `ip6_flush_pending_frames'
      l2tp_ip6.c:(.text+0x14f0a0): undefined reference to `inet6_destroy_sock'
      net/built-in.o: In function `l2tp_ip6_connect':
      l2tp_ip6.c:(.text+0x14f14d): undefined reference to `ip6_datagram_connect'
      net/built-in.o: In function `l2tp_ip6_bind':
      l2tp_ip6.c:(.text+0x14f4fe): undefined reference to `ipv6_chk_addr'
      net/built-in.o: In function `l2tp_ip6_init':
      l2tp_ip6.c:(.init.text+0x73fa): undefined reference to `inet6_add_protocol'
      l2tp_ip6.c:(.init.text+0x740c): undefined reference to `inet6_register_protosw'
      net/built-in.o: In function `l2tp_ip6_exit':
      l2tp_ip6.c:(.exit.text+0x1954): undefined reference to `inet6_unregister_protosw'
      l2tp_ip6.c:(.exit.text+0x1965): undefined reference to `inet6_del_protocol'
      net/built-in.o:(.rodata+0xf2d0): undefined reference to `inet6_release'
      net/built-in.o:(.rodata+0xf2d8): undefined reference to `inet6_bind'
      net/built-in.o:(.rodata+0xf308): undefined reference to `inet6_ioctl'
      net/built-in.o:(.data+0x1af40): undefined reference to `ipv6_setsockopt'
      net/built-in.o:(.data+0x1af48): undefined reference to `ipv6_getsockopt'
      net/built-in.o:(.data+0x1af50): undefined reference to `compat_ipv6_setsockopt'
      net/built-in.o:(.data+0x1af58): undefined reference to `compat_ipv6_getsockopt'
      make: *** [vmlinux] Error 1
      
      This is due to l2tp uses symbols from IPV6, so when IPV6
      is a module, l2tp is not allowed to be builtin.
      
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <amwang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fc181625
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · b216a4d8
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      This series contains updates to igb and ixgbevf.
      
      v2: updated patch description in 04 patch (ixgbevf: scheduling while
          atomic in reset hw path)
       ...
      Akeem G. Abodunrin (1):
        igb: Support to enable EEE on all eee_supported devices
      
      Alexander Duyck (2):
        igb: Remove artificial restriction on RQDPC stat reading
        ixgbevf: Add support for VF API negotiation
      
      John Fastabend (1):
        ixgbevf: scheduling while atomic in reset hw path
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b216a4d8
    • Joe Perches's avatar
      net1080: Neaten netdev_dbg use · 127a4794
      Joe Perches authored
      Remove unnecessary temporary variable and #ifdef DEBUG block.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      127a4794
  3. 20 Sep, 2012 9 commits
    • Greg Kroah-Hartman's avatar
      USB: remove dbg() usage in USB networking drivers · 49ae25b0
      Greg Kroah-Hartman authored
      The dbg() USB macro is so old, it predates me.  The USB networking drivers are
      the last hold-out using this macro, and we want to get rid of it, so replace
      the usage of it with the proper netdev_dbg() or dev_dbg() (depending on the
      context) calls.
      
      Some places we end up using a local variable for the debug call, so also
      convert the other existing dev_* calls to use it as well, to save tiny amounts
      of code space.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49ae25b0
    • Alan Cox's avatar
      tcp: Document use of undefined variable. · 4308fc58
      Alan Cox authored
      Both tcp_timewait_state_process and tcp_check_req use the same basic
      construct of
      
      	struct tcp_options received tmp_opt;
      	tmp_opt.saw_tstamp = 0;
      
      then call
      
      	tcp_parse_options
      
      However if they are fed a frame containing a TCP_SACK then tbe code
      behaviour is undefined because opt_rx->sack_ok is undefined data.
      
      This ought to be documented if it is intentional.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4308fc58
    • Christoph Paasch's avatar
    • Or Gerlitz's avatar
      IB/ipoib: Add rtnl_link_ops support · 9baa0b03
      Or Gerlitz authored
      Add rtnl_link_ops to IPoIB, with the first usage being child device
      create/delete through them. Childs devices are now either legacy ones,
      created/deleted through the ipoib sysfs entries, or RTNL ones.
      
      Adding support for RTNL childs involved refactoring of ipoib_vlan_add
      which is now used by both the sysfs and the link_ops code.
      
      Also, added ndo_uninit entry to support calling unregister_netdevice_queue
      from the rtnl dellink entry. This required removal of calls to
      ipoib_dev_cleanup from the driver in flows which use unregister_netdevice,
      since the networking core will invoke ipoib_uninit which does exactly that.
      Signed-off-by: default avatarErez Shitrit <erezsh@mellanox.co.il>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9baa0b03
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next · b85c715c
      David S. Miller authored
      Ben Hutchings says:
      
      ====================
      1. Extension to PPS/PTP to allow for PHC devices where pulses are
         subject to a variable but measurable delay.
      2. PPS/PTP/PHC support for Solarflare boards with a timestamping
         peripheral.
      3. MTD support for updating the timestamping peripheral on those boards.
      4. Fix for potential over-length requests to firmware.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b85c715c
    • John Fastabend's avatar
      ixgbevf: scheduling while atomic in reset hw path · 012dc19a
      John Fastabend authored
      In ixgbevf_reset_hw_vf() msleep is called while holding mbx_lock
      resulting in a schedule while atomic bug with trace below.
      
      This patch uses mdelay instead.
      
      BUG: scheduling while atomic: ip/6539/0x00000002
      2 locks held by ip/6539:
       #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff81419cc3>] rtnl_lock+0x17/0x19
       #1:  (&(&adapter->mbx_lock)->rlock){+.+...}, at: [<ffffffffa0030855>] ixgbevf_reset+0x30/0xc1 [ixgbevf]
      Modules linked in: ixgbevf ixgbe mdio libfc scsi_transport_fc 8021q scsi_tgt garp stp llc cpufreq_ondemand acpi_cpufreq freq_table mperf ipv6 uinput igb coretemp hwmon crc32c_intel ioatdma i2c_i801 shpchp microcode lpc_ich mfd_core i2c_core joydev dca pcspkr serio_raw pata_acpi ata_generic usb_storage pata_jmicron
      Pid: 6539, comm: ip Not tainted 3.6.0-rc3jk-net-next+ #104
      Call Trace:
       [<ffffffff81072202>] __schedule_bug+0x6a/0x79
       [<ffffffff814bc7e0>] __schedule+0xa2/0x684
       [<ffffffff8108f85f>] ? trace_hardirqs_off+0xd/0xf
       [<ffffffff814bd0c0>] schedule+0x64/0x66
       [<ffffffff814bb5e2>] schedule_timeout+0xa6/0xca
       [<ffffffff810536b9>] ? lock_timer_base+0x52/0x52
       [<ffffffff812629e0>] ? __udelay+0x15/0x17
       [<ffffffff814bb624>] schedule_timeout_uninterruptible+0x1e/0x20
       [<ffffffff810541c0>] msleep+0x1b/0x22
       [<ffffffffa002e723>] ixgbevf_reset_hw_vf+0x90/0xe5 [ixgbevf]
       [<ffffffffa0030860>] ixgbevf_reset+0x3b/0xc1 [ixgbevf]
       [<ffffffffa0032fba>] ixgbevf_open+0x43/0x43e [ixgbevf]
       [<ffffffff81409610>] ? dev_set_rx_mode+0x2e/0x33
       [<ffffffff8140b0f1>] __dev_open+0xa0/0xe5
       [<ffffffff814097ed>] __dev_change_flags+0xbe/0x142
       [<ffffffff8140b01c>] dev_change_flags+0x21/0x56
       [<ffffffff8141a843>] do_setlink+0x2e2/0x7f4
       [<ffffffff81016e36>] ? native_sched_clock+0x37/0x39
       [<ffffffff8141b0ac>] rtnl_newlink+0x277/0x4bb
       [<ffffffff8141aee9>] ? rtnl_newlink+0xb4/0x4bb
       [<ffffffff812217d1>] ? selinux_capable+0x32/0x3a
       [<ffffffff8104fb17>] ? ns_capable+0x4f/0x67
       [<ffffffff81419cc3>] ? rtnl_lock+0x17/0x19
       [<ffffffff81419f28>] rtnetlink_rcv_msg+0x236/0x253
       [<ffffffff81419cf2>] ? rtnetlink_rcv+0x2d/0x2d
       [<ffffffff8142fd42>] netlink_rcv_skb+0x43/0x94
       [<ffffffff81419ceb>] rtnetlink_rcv+0x26/0x2d
       [<ffffffff8142faf1>] netlink_unicast+0xee/0x174
       [<ffffffff81430327>] netlink_sendmsg+0x26a/0x288
       [<ffffffff813fb04f>] ? rcu_read_unlock+0x56/0x67
       [<ffffffff813f5e6d>] __sock_sendmsg_nosec+0x58/0x61
       [<ffffffff813f81b7>] __sock_sendmsg+0x3d/0x48
       [<ffffffff813f8339>] sock_sendmsg+0x6e/0x87
       [<ffffffff81107c9f>] ? might_fault+0xa5/0xac
       [<ffffffff81402a72>] ? copy_from_user+0x2a/0x2c
       [<ffffffff81402e62>] ? verify_iovec+0x54/0xaa
       [<ffffffff813f9834>] __sys_sendmsg+0x206/0x288
       [<ffffffff810694fa>] ? up_read+0x23/0x3d
       [<ffffffff811307e5>] ? fcheck_files+0xac/0xea
       [<ffffffff8113095e>] ? fget_light+0x3a/0xb9
       [<ffffffff813f9a2e>] sys_sendmsg+0x42/0x60
       [<ffffffff814c5ba9>] system_call_fastpath+0x16/0x1b
      
      CC: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Tested-By: default avatarRobert Garrett <robertx.e.garrett@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      012dc19a
    • Alexander Duyck's avatar
      ixgbevf: Add support for VF API negotiation · 31186785
      Alexander Duyck authored
      This change makes it so that the VF can support the PF/VF API negotiation
      protocol.  Specifically in this case we are adding support for API 1.0
      which will mean that the VF is capable of cleaning up buffers that span
      multiple descriptors without triggering an error.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarSibai Li <sibai.li@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      31186785
    • Akeem G. Abodunrin's avatar
      igb: Support to enable EEE on all eee_supported devices · e5461112
      Akeem G. Abodunrin authored
      Current implementation enables EEE on only i350 device. This patch enables
      EEE on all eee_supported devices. Also, configured LPI clock to keep
      running before EEE is enabled on i210 and i211 devices.
      Signed-off-by: default avatarAkeem G. Abodunrin <akeem.g.abodunrin@intel.com>
      Tested-by: default avatarJeff Pieper  <jeffrey.e.pieper@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e5461112
    • Alexander Duyck's avatar
      igb: Remove artificial restriction on RQDPC stat reading · ae1c07a6
      Alexander Duyck authored
      For some reason the reading of the RQDPC register was being artificially
      limited to 4K.  Instead of limiting the value we should read the value and
      add the full amount.  Otherwise this can lead to a misleading number of
      dropped packets when the actual value is in fact much higher.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarJeff Pieper   <jeffrey.e.pieper@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      ae1c07a6
  4. 19 Sep, 2012 20 commits