1. 07 Aug, 2013 22 commits
  2. 05 Aug, 2013 14 commits
    • Claudiu Manoil's avatar
      gianfar: Cleanup TxFCB insertion on xmit · 0d0cffdc
      Claudiu Manoil authored
      Cleanup gfar_start_xmit()'s fast path by factoring out "redundant"
      FCB insertion code (repeated gfar_add_fcb() calls and related)
      and by reducing the number of if() clauses (i.e. if(fcb) checks).
      Improve maintainability (e.g. there's less code and easier to read)
      also by introducing do_csum and do_vlan to mark the other 2 Tx TOE
      functionalities, following the same model as do_tstamp.
      fcb_len may also be 0 now, to mark that Tx FCB insertion conditions
      (do_csum, do_vlan, do_tstamp) have not been met.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d0cffdc
    • Claudiu Manoil's avatar
      gianfar: Fix Tx csum generation errata handling · 02d88fb4
      Claudiu Manoil authored
      Both [eTSEC76] and [eTSEC12] errata relate to Tx checksum generation
      (for some MPC83xx and MCP8548 older revisions). They require the same
      workaround: manual checksum computation and insertion, and disabling
      the H/W Tx csum acceleration feature (per frame) through Tx FCB
      (Frame Control Block) csum offload settings.
      
      The workaround for [eTSEC76] needs to be fixed because it currently
      fails to disable H/W Tx csum insertion via FCB. This patch fixes it
      and provides a common workaround implementation for both Tx csum errata.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02d88fb4
    • Veaceslav Falico's avatar
      bonding: remove locking from bond_set_rx_mode() · 7864a1ad
      Veaceslav Falico authored
      We're already protected by RTNL lock, so nothing can happen to bond/its
      slaves, and thus the locking is useless here (both bond->lock and
      bond->curr_active_slave).
      
      Also, add ASSERT_RTNL() both to bond_set_rx_mode() and bond_hw_addr_swap()
      to catch possible uses of it without RTNL locking.
      
      This patch also saves us from a lockdep false-positive in
      bond_set_rx_mode() vs bond_hw_addr_swap().
      
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: Nikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7864a1ad
    • Mugunthan V N's avatar
      drivers: net: cpsw: Add support for new CPSW IP version · c193f365
      Mugunthan V N authored
      The new IP version has a minor changes and the offsets are same as the
      previous version, so adding new IP version support in the driver.
      Signed-off-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c193f365
    • fan.du's avatar
      sctp: Pack dst_cookie into 1st cacheline hole for 64bit host · 5a139296
      fan.du authored
      As dst_cookie is used in fast path sctp_transport_dst_check.
      
      Before:
      struct sctp_transport {
      	struct list_head           transports;           /*     0    16 */
      	atomic_t                   refcnt;               /*    16     4 */
      	__u32                      dead:1;               /*    20:31  4 */
      	__u32                      rto_pending:1;        /*    20:30  4 */
      	__u32                      hb_sent:1;            /*    20:29  4 */
      	__u32                      pmtu_pending:1;       /*    20:28  4 */
      
      	/* XXX 28 bits hole, try to pack */
      
      	__u32                      sack_generation;      /*    24     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	struct flowi               fl;                   /*    32    64 */
      	/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
      	union sctp_addr            ipaddr;               /*    96    28 */
      
      After:
      struct sctp_transport {
      	struct list_head           transports;           /*     0    16 */
      	atomic_t                   refcnt;               /*    16     4 */
      	__u32                      dead:1;               /*    20:31  4 */
      	__u32                      rto_pending:1;        /*    20:30  4 */
      	__u32                      hb_sent:1;            /*    20:29  4 */
      	__u32                      pmtu_pending:1;       /*    20:28  4 */
      
      	/* XXX 28 bits hole, try to pack */
      
      	__u32                      sack_generation;      /*    24     4 */
      	u32                        dst_cookie;           /*    28     4 */
      	struct flowi               fl;                   /*    32    64 */
      	/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
      	union sctp_addr            ipaddr;               /*    96    28 */
      Signed-off-by: default avatarFan Du <fan.du@windriver.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a139296
    • Veaceslav Falico's avatar
      bonding: add bond_time_in_interval() and use it for time comparison · e7f63f1d
      Veaceslav Falico authored
      Currently we use a lot of time comparison math for arp_interval
      comparisons, which are sometimes quite hard to read and understand.
      
      All the time comparisons have one pattern:
      (time - arp_interval_jiffies) <= jiffies <= (time + mod *
      arp_interval_jiffies + arp_interval_jiffies/2)
      
      Introduce a new helper - bond_time_in_interval(), which will do the math in
      one place and, thus, will clean up the logical code. This helper introduces
      a bit of overhead (by always calculating the jiffies from arp_interval),
      however it's really not visible, considering that functions using it
      usually run once in arp_interval milliseconds.
      
      There are several lines slightly over 80 chars, however breaking them would
      result in more hard-to-read code than several character after the 80 mark.
      
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e7f63f1d
    • Veaceslav Falico's avatar
      bonding: call slave_last_rx() only once per slave · def4460c
      Veaceslav Falico authored
      Simple cleanup to not call slave_last_rx() on every time function. It won't
      give any measurable boost - but looks cleaner and easier to understand.
      
      There are no time-consuming functions in between these calls, so it's safe
      to call it in the beginning only once.
      
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      def4460c
    • Wei Yongjun's avatar
      tile: fix missing unlock on error in tile_net_open() · 1155e964
      Wei Yongjun authored
      Add the missing unlock before return from function tile_net_open()
      in the error handling case.
      
      Introduced by commit f3286a3a.
      (tile: support multiple mPIPE shims in tilegx network driver)
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Acked-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1155e964
    • Jingoo Han's avatar
      net: mlx4: Staticize local functions · f094668c
      Jingoo Han authored
      These local functions are used only in this file.
      Fix the following sparse warnings:
      
      drivers/net/ethernet/mellanox/mlx4/cmd.c:803:5: warning: symbol 'MLX4_CMD_UPDATE_QP_wrapper' was not declared. Should it be static?
      drivers/net/ethernet/mellanox/mlx4/cmd.c:812:5: warning: symbol 'MLX4_CMD_GET_OP_REQ_wrapper' was not declared. Should it be static?
      drivers/net/ethernet/mellanox/mlx4/cmd.c:1547:5: warning: symbol 'mlx4_master_immediate_activate_vlan_qos' was not declared. Should
      it be static?
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Acked-By: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f094668c
    • Jingoo Han's avatar
      net: micrel: Staticize local functions · 51a700db
      Jingoo Han authored
      These local functions are used only in this file.
      Fix the following sparse warnings:
      
      drivers/net/ethernet/micrel/ks8842.c:708:6: warning: symbol 'ks8842_handle_rx' was not declared. Should it be static?
      drivers/net/ethernet/micrel/ks8842.c:718:6: warning: symbol 'ks8842_handle_tx' was not declared. Should it be static?
      drivers/net/ethernet/micrel/ks8842.c:727:6: warning: symbol 'ks8842_handle_rx_overrun' was not declared. Should it be static?
      drivers/net/ethernet/micrel/ks8842.c:735:6: warning: symbol 'ks8842_tasklet' was not declared. Should it be static?
      drivers/net/ethernet/micrel/ks8851_mll.c:691:6: warning: symbol 'ks_enable_qmu' was not declared. Should it be static?
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51a700db
    • Jingoo Han's avatar
      be2net: Staticize local functions · 4188e7df
      Jingoo Han authored
      These local functions are used only in this file.
      Fix the following sparse warnings:
      
      drivers/net/ethernet/emulex/benet/be_main.c:475:6: warning: symbol 'populate_erx_stats' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_main.c:1485:6: warning: symbol 'be_rx_compl_process_gro' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_main.c:2262:5: warning: symbol 'be_poll' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_main.c:3223:6: warning: symbol 'flash_cookie' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_main.c:3280:27: warning: symbol 'get_fsec_info' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_cmds.c:1013:5: warning: symbol 'be_cmd_mccq_ext_create' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_cmds.c:1071:5: warning: symbol 'be_cmd_mccq_org_create' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_cmds.c:3166:5: warning: symbol 'be_cmd_get_profile_config_mbox' was not declared. Should it be
      static?
      drivers/net/ethernet/emulex/benet/be_cmds.c:3194:5: warning: symbol 'be_cmd_get_profile_config_mccq' was not declared. Should it be
      static?
      drivers/net/ethernet/emulex/benet/be_roce.c:96:6: warning: symbol '_be_roce_dev_remove' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_roce.c:113:6: warning: symbol '_be_roce_dev_open' was not declared. Should it be static?
      drivers/net/ethernet/emulex/benet/be_roce.c:129:6: warning: symbol '_be_roce_dev_close' was not declared. Should it be static?
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4188e7df
    • Jingoo Han's avatar
      bna: Staticize local functions · 7f4341fe
      Jingoo Han authored
      bna_rx_sm_stop_wait_entry(), bna_rx_sm_rxf_stop_wait_entry(),
      bna_rx_sm_started_entry(), bna_rx_sm_cleanup_wait_entry(),
      and bna_rx_sm_cleanup_wait() are used only in this file.
      Fix the following sparse warnings:
      
      drivers/net/ethernet/brocade/bna/bna_tx_rx.c:1423:1: warning: symbol 'bna_rx_sm_stop_wait_entry' was not declared. Should it be
      static?
      drivers/net/ethernet/brocade/bna/bna_tx_rx.c:1476:1: warning: symbol 'bna_rx_sm_rxf_stop_wait_entry' was not declared. Should it be
      static?
      drivers/net/ethernet/brocade/bna/bna_tx_rx.c:1532:1: warning: symbol 'bna_rx_sm_started_entry' was not declared. Should it be
      static?
      drivers/net/ethernet/brocade/bna/bna_tx_rx.c:1597:1: warning: symbol 'bna_rx_sm_cleanup_wait_entry' was not declared. Should it be
      static?
      drivers/net/ethernet/brocade/bna/bna_tx_rx.c:1602:1: warning: symbol 'bna_rx_sm_cleanup_wait' was not declared. Should it be static?
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f4341fe
    • stephen hemminger's avatar
      vxlan: fix rcu related warning · 5ca5461c
      stephen hemminger authored
      Vxlan remote list is protected by RCU and guaranteed to be non-empty.
      Split out the rcu and non-rcu access to the list to fix warning
      Signed-off-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5ca5461c
    • stephen hemminger's avatar
      bridge: fix rcu check warning in multicast port group · 762a3d89
      stephen hemminger authored
      Use of RCU here with out marked pointer and function doesn't match prototype
      with sparse.
      Signed-off-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      762a3d89
  3. 04 Aug, 2013 2 commits
  4. 03 Aug, 2013 2 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 72a67a94
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Don't ignore user initiated wireless regulatory settings on cards
          with custom regulatory domains, from Arik Nemtsov.
      
       2) Fix length check of bluetooth information responses, from Jaganath
          Kanakkassery.
      
       3) Fix misuse of PTR_ERR in btusb, from Adam Lee.
      
       4) Handle rfkill properly while iwlwifi devices are offline, from
          Emmanuel Grumbach.
      
       5) Fix r815x devices DMA'ing to stack buffers, from Hayes Wang.
      
       6) Kernel info leak in ATM packet scheduler, from Dan Carpenter.
      
       7) 8139cp doesn't check for DMA mapping errors, from Neil Horman.
      
       8) Fix bridge multicast code to not snoop when no querier exists,
          otherwise mutlicast traffic is lost.  From Linus Lüssing.
      
       9) Avoid soft lockups in fib6_run_gc(), from Michal Kubecek.
      
      10) Fix races in automatic address asignment on ipv6, which can result
          in incorrect lifetime assignments.  From Jiri Benc.
      
      11) Cure build bustage when CONFIG_NET_LL_RX_POLL is not set and rename
          it CONFIG_NET_RX_BUSY_POLL to eliminate the last reference to the
          original naming of this feature.  From Cong Wang.
      
      12) Fix crash in TIPC when server socket creation fails, from Ying Xue.
      
      13) macvlan_changelink() silently succeeds when it shouldn't, from
          Michael S Tsirkin.
      
      14) HTB packet scheduler can crash due to sign extension, fix from
          Stephen Hemminger.
      
      15) With the cable unplugged, r8169 prints out a message every 10
          seconds, make it netif_dbg() instead of netif_warn().  From Peter
          Wu.
      
      16) Fix memory leak in rtm_to_ifaddr(), from Daniel Borkmann.
      
      17) sis900 gets spurious TX queue timeouts due to mismanagement of link
          carrier state, from Denis Kirjanov.
      
      18) Validate somaxconn sysctl to make sure it fits inside of a u16.
          From Roman Gushchin.
      
      19) Fix MAC address filtering on qlcnic, from Shahed Shaikh.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (68 commits)
        qlcnic: Fix for flash update failure on 83xx adapter
        qlcnic: Fix link speed and duplex display for 83xx adapter
        qlcnic: Fix link speed display for 82xx adapter
        qlcnic: Fix external loopback test.
        qlcnic: Removed adapter series name from warning messages.
        qlcnic: Free up memory in error path.
        qlcnic: Fix ingress MAC learning
        qlcnic: Fix MAC address filter issue on 82xx adapter
        net: ethernet: davinci_emac: drop IRQF_DISABLED
        netlabel: use domain based selectors when address based selectors are not available
        net: check net.core.somaxconn sysctl values
        sis900: Fix the tx queue timeout issue
        net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
        r8169: remove "PHY reset until link up" log spam
        net: ethernet: cpsw: drop IRQF_DISABLED
        htb: fix sign extension bug
        macvlan: handle set_promiscuity failures
        macvlan: better mode validation
        tipc: fix oops when creating server socket fails
        net: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL
        ...
      72a67a94
    • Himanshu Madhani's avatar
      qlcnic: Fix for flash update failure on 83xx adapter · 4bd8e738
      Himanshu Madhani authored
      Flash update routine was improperly checking register read API return value.
      Modify register read API and perform proper error check.
      Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4bd8e738