1. 05 Jul, 2018 1 commit
  2. 16 Jun, 2017 1 commit
    • Johannes Berg's avatar
      networking: introduce and use skb_put_data() · 59ae1d12
      Johannes Berg authored
      A common pattern with skb_put() is to just want to memcpy()
      some data into the new space, introduce skb_put_data() for
      this.
      
      An spatch similar to the one for skb_put_zero() converts many
      of the places using it:
      
          @@
          identifier p, p2;
          expression len, skb, data;
          type t, t2;
          @@
          (
          -p = skb_put(skb, len);
          +p = skb_put_data(skb, data, len);
          |
          -p = (t)skb_put(skb, len);
          +p = skb_put_data(skb, data, len);
          )
          (
          p2 = (t2)p;
          -memcpy(p2, data, len);
          |
          -memcpy(p, data, len);
          )
      
          @@
          type t, t2;
          identifier p, p2;
          expression skb, data;
          @@
          t *p;
          ...
          (
          -p = skb_put(skb, sizeof(t));
          +p = skb_put_data(skb, data, sizeof(t));
          |
          -p = (t *)skb_put(skb, sizeof(t));
          +p = skb_put_data(skb, data, sizeof(t));
          )
          (
          p2 = (t2)p;
          -memcpy(p2, data, sizeof(*p));
          |
          -memcpy(p, data, sizeof(*p));
          )
      
          @@
          expression skb, len, data;
          @@
          -memcpy(skb_put(skb, len), data, len);
          +skb_put_data(skb, data, len);
      
      (again, manually post-processed to retain some comments)
      Reviewed-by: Stephen Hemminger's avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59ae1d12
  3. 13 Jun, 2017 1 commit
  4. 22 Mar, 2017 2 commits
  5. 15 Mar, 2017 1 commit
    • Taku Izumi's avatar
      fjes: Fix wrong netdevice feature flags · fe8daf5f
      Taku Izumi authored
      This patch fixes netdev->features for Extended Socket network device.
      
      Currently Extended Socket network device's netdev->feature claims
      NETIF_F_HW_CSUM, however this is completely wrong. There's no feature
      of checksum offloading.
      That causes invalid TCP/UDP checksum and packet rejection when IP
      forwarding from Extended Socket network device to other network device.
      
      NETIF_F_HW_CSUM should be omitted.
      Signed-off-by: default avatarTaku Izumi <izumi.taku@jp.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fe8daf5f
  6. 13 Mar, 2017 1 commit
  7. 30 Jan, 2017 1 commit
  8. 08 Jan, 2017 1 commit
  9. 20 Oct, 2016 1 commit
    • Jarod Wilson's avatar
      net: use core MTU range checking in misc drivers · b3e3893e
      Jarod Wilson authored
      firewire-net:
      - set min/max_mtu
      - remove fwnet_change_mtu
      
      nes:
      - set max_mtu
      - clean up nes_netdev_change_mtu
      
      xpnet:
      - set min/max_mtu
      - remove xpnet_dev_change_mtu
      
      hippi:
      - set min/max_mtu
      - remove hippi_change_mtu
      
      batman-adv:
      - set max_mtu
      - remove batadv_interface_change_mtu
      - initialization is a little async, not 100% certain that max_mtu is set
        in the optimal place, don't have hardware to test with
      
      rionet:
      - set min/max_mtu
      - remove rionet_change_mtu
      
      slip:
      - set min/max_mtu
      - streamline sl_change_mtu
      
      um/net_kern:
      - remove pointless ndo_change_mtu
      
      hsi/clients/ssi_protocol:
      - use core MTU range checking
      - remove now redundant ssip_pn_set_mtu
      
      ipoib:
      - set a default max MTU value
      - Note: ipoib's actual max MTU can vary, depending on if the device is in
        connected mode or not, so we'll just set the max_mtu value to the max
        possible, and let the ndo_change_mtu function continue to validate any new
        MTU change requests with checks for CM or not. Note that ipoib has no
        min_mtu set, and thus, the network core's mtu > 0 check is the only lower
        bounds here.
      
      mptlan:
      - use net core MTU range checking
      - remove now redundant mpt_lan_change_mtu
      
      fddi:
      - min_mtu = 21, max_mtu = 4470
      - remove now redundant fddi_change_mtu (including export)
      
      fjes:
      - min_mtu = 8192, max_mtu = 65536
      - The max_mtu value is actually one over IP_MAX_MTU here, but the idea is to
        get past the core net MTU range checks so fjes_change_mtu can validate a
        new MTU against what it supports (see fjes_support_mtu in fjes_hw.c)
      
      hsr:
      - min_mtu = 0 (calls ether_setup, max_mtu is 1500)
      
      f_phonet:
      - min_mtu = 6, max_mtu = 65541
      
      u_ether:
      - min_mtu = 14, max_mtu = 15412
      
      phonet/pep-gprs:
      - min_mtu = 576, max_mtu = 65530
      - remove redundant gprs_set_mtu
      
      CC: netdev@vger.kernel.org
      CC: linux-rdma@vger.kernel.org
      CC: Stefan Richter <stefanr@s5r6.in-berlin.de>
      CC: Faisal Latif <faisal.latif@intel.com>
      CC: linux-rdma@vger.kernel.org
      CC: Cliff Whickman <cpw@sgi.com>
      CC: Robin Holt <robinmholt@gmail.com>
      CC: Jes Sorensen <jes@trained-monkey.org>
      CC: Marek Lindner <mareklindner@neomailbox.ch>
      CC: Simon Wunderlich <sw@simonwunderlich.de>
      CC: Antonio Quartulli <a@unstable.cc>
      CC: Sathya Prakash <sathya.prakash@broadcom.com>
      CC: Chaitra P B <chaitra.basappa@broadcom.com>
      CC: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
      CC: MPT-FusionLinux.pdl@broadcom.com
      CC: Sebastian Reichel <sre@kernel.org>
      CC: Felipe Balbi <balbi@kernel.org>
      CC: Arvid Brodin <arvid.brodin@alten.se>
      CC: Remi Denis-Courmont <courmisch@gmail.com>
      Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b3e3893e
  10. 17 Oct, 2016 1 commit
    • Arnd Bergmann's avatar
      fjes: fix format string for trace output · ea939008
      Arnd Bergmann authored
      phys_addr_t may be wider than a pointer and has to be printed
      using the special %pap format string, as pointed out by
      this new warning.
      
      arch/x86/include/../../../drivers/net/fjes/fjes_trace.h: In function ‘trace_raw_output_fjes_hw_start_debug_req’:
      arch/x86/include/../../../drivers/net/fjes/fjes_trace.h:212:563: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
      
      Note that this has to pass the address by reference instead of
      casting it to a different type.
      
      Fixes: b6ba737d ("fjes: ethtool -w and -W support for fjes driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ea939008
  11. 14 Oct, 2016 6 commits
  12. 15 Aug, 2016 1 commit
  13. 03 Jun, 2016 1 commit
    • Bhaktipriya Shridhar's avatar
      net: fjes: fjes_main: Remove create_workqueue · f2edc4e1
      Bhaktipriya Shridhar authored
      alloc_workqueue replaces deprecated create_workqueue().
      
      The workqueue adapter->txrx_wq has workitem
      &adapter->raise_intr_rxdata_task per adapter. Extended Socket Network
      Device is shared memory based, so someone's transmission denotes other's
      reception.  raise_intr_rxdata_task raises interruption of receivers from
      the sender in order to notify receivers.
      
      The workqueue adapter->control_wq has workitem
      &adapter->interrupt_watch_task per adapter. interrupt_watch_task is used
      to prevent delay of interrupts.
      
      Dedicated workqueues have been used in both cases since the workitems
      on the workqueues are involved in normal device operation and require
      forward progress under memory pressure.
      
      max_active has been set to 0 since there is no need for throttling
      the number of active work items.
      
      Since network devices  may be used for memory reclaim,
      WQ_MEM_RECLAIM has been set to guarantee forward progress.
      Signed-off-by: Bhaktipriya Shridhar's avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f2edc4e1
  14. 10 May, 2016 1 commit
  15. 04 May, 2016 2 commits
    • Florian Westphal's avatar
      treewide: replace dev->trans_start update with helper · 860e9538
      Florian Westphal authored
      Replace all trans_start updates with netif_trans_update helper.
      change was done via spatch:
      
      struct net_device *d;
      @@
      - d->trans_start = jiffies
      + netif_trans_update(d)
      
      Compile tested only.
      
      Cc: user-mode-linux-devel@lists.sourceforge.net
      Cc: linux-xtensa@linux-xtensa.org
      Cc: linux1394-devel@lists.sourceforge.net
      Cc: linux-rdma@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: MPT-FusionLinux.pdl@broadcom.com
      Cc: linux-scsi@vger.kernel.org
      Cc: linux-can@vger.kernel.org
      Cc: linux-parisc@vger.kernel.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-hams@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Cc: linux-wireless@vger.kernel.org
      Cc: linux-s390@vger.kernel.org
      Cc: devel@driverdev.osuosl.org
      Cc: b.a.t.m.a.n@lists.open-mesh.org
      Cc: linux-bluetooth@vger.kernel.org
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Acked-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      Acked-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Acked-by: Antonio's avatarAntonio Quartulli <a@unstable.cc>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      860e9538
    • Florian Westphal's avatar
      drivers: replace dev->trans_start accesses with dev_trans_start · 4d0e9657
      Florian Westphal authored
      a trans_start struct member exists twice:
      - in struct net_device (legacy)
      - in struct netdev_queue
      
      Instead of open-coding dev->trans_start usage to obtain the current
      trans_start value, use dev_trans_start() instead.
      
      This is not exactly the same, as dev_trans_start also considers
      the trans_start values of the netdev queues owned by the device
      and provides the most recent one.
      
      For legacy devices this doesn't matter as dev_trans_start can cope
      with netdev trans_start values of 0 (they are ignored).
      
      This is a prerequisite to eventual removal of dev->trans_start.
      
      Cc: linux-rdma@vger.kernel.org
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d0e9657
  16. 17 Apr, 2016 6 commits
  17. 11 Apr, 2016 1 commit
  18. 15 Nov, 2015 1 commit
  19. 07 Nov, 2015 1 commit
  20. 16 Oct, 2015 1 commit
  21. 18 Sep, 2015 1 commit
  22. 24 Aug, 2015 7 commits