1. Aug 09, 2017
  2. Aug 08, 2017
    • Bhumika Goyal's avatar
      ath9k: make ath_ps_ops structures as const · 3588e111
      Bhumika Goyal authored
      
      
      ath_ps_ops structures are only stored as a reference in the ps_ops
      field of a ath_common structure. This field is of type const, so make
      the structures as const.
      
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      3588e111
    • Bjorn Andersson's avatar
      wcn36xx: Introduce mutual exclusion of fw configuration · 39efc7cc
      Bjorn Andersson authored
      
      
      As the association status changes the driver needs to configure the
      hardware. This is done based on information in the "sta" acquired by
      ieee80211_find_sta(), which requires the caller to ensure that the "sta"
      is valid while its being used; generally by entering an rcu read
      section.
      
      But the operations acting on the "sta" has to communicate with the
      firmware and may therefor sleep, resulting in the following report:
      
      [   31.418190] BUG: sleeping function called from invalid context at
      kernel/locking/mutex.c:238
      [   31.425919] in_atomic(): 0, irqs_disabled(): 0, pid: 34, name:
      kworker/u8:1
      [   31.434609] CPU: 0 PID: 34 Comm: kworker/u8:1 Tainted: G        W
      4.12.0-rc4-next-20170607+ #993
      [   31.441002] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC
      (DT)
      [   31.450380] Workqueue: phy0 ieee80211_iface_work
      [   31.457226] Call trace:
      [   31.461830] [<ffffff8008088c58>] dump_backtrace+0x0/0x260
      [   31.464004] [<ffffff8008088f7c>] show_stack+0x14/0x20
      [   31.469557] [<ffffff8008392e70>] dump_stack+0x98/0xb8
      [   31.474592] [<ffffff80080e4330>] ___might_sleep+0xf0/0x118
      [   31.479626] [<ffffff80080e43a8>] __might_sleep+0x50/0x88
      [   31.485010] [<ffffff80088ff9a4>] mutex_lock+0x24/0x60
      [   31.490479] [<ffffff8008595c38>] wcn36xx_smd_set_link_st+0x30/0x130
      [   31.495428] [<ffffff8008591ed8>] wcn36xx_bss_info_changed+0x148/0x448
      [   31.501504] [<ffffff80088ab3c4>]
      ieee80211_bss_info_change_notify+0xbc/0x118
      [   31.508102] [<ffffff80088f841c>] ieee80211_assoc_success+0x664/0x7f8
      [   31.515220] [<ffffff80088e13d4>]
      ieee80211_rx_mgmt_assoc_resp+0x144/0x2d8
      [   31.521555] [<ffffff80088e1e20>]
      ieee80211_sta_rx_queued_mgmt+0x190/0x698
      [   31.528239] [<ffffff80088bc44c>] ieee80211_iface_work+0x234/0x368
      [   31.535011] [<ffffff80080d81ac>] process_one_work+0x1cc/0x340
      [   31.541086] [<ffffff80080d8368>] worker_thread+0x48/0x430
      [   31.546814] [<ffffff80080de448>] kthread+0x108/0x138
      [   31.552195] [<ffffff8008082ec0>] ret_from_fork+0x10/0x50
      
      In order to ensure that the "sta" remains alive (and consistent) for the
      duration of bss_info_changed() mutual exclusion has to be ensured with
      sta_remove().
      
      This is done by introducing a mutex to cover firmware configuration
      changes, which is made to also ensure mutual exclusion between other
      operations changing the state or configuration of the firmware. With
      this we can drop the rcu read lock.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      39efc7cc
    • Andy Shevchenko's avatar
      ath10k: switch to use new generic UUID API · ab3f9c88
      Andy Shevchenko authored
      
      
      There are new types and helpers that are supposed to be used in new code.
      
      As a preparation to get rid of legacy types and API functions do
      the conversion here.
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      ab3f9c88
    • Rakesh Pillai's avatar
      ath10k: fix memory leak in rx ring buffer allocation · f35a7f91
      Rakesh Pillai authored
      
      
      The rx ring buffers are added to a hash table if
      firmware support full rx reorder. If the full rx
      reorder support flag is not set before allocating
      the rx ring buffers, none of the buffers are added
      to the hash table.
      
      There is a race condition between rx ring refill and
      rx buffer replenish from napi poll. The interrupts are
      enabled in hif start, before the rx ring is refilled during init.
      We replenish buffers from napi poll due to the interrupts which
      get enabled after hif start. Hence before the entire rx ring is
      refilled during the init, the napi poll replenishes a few buffers
      in steps of 100 buffers per attempt. During this rx ring replenish
      from napi poll, the rx reorder flag has not been set due to which
      the replenished buffers are not added to the hash table
      
      Set the rx full reorder support flag before we allocate
      the rx ring buffer to avoid the memory leak.
      
      Signed-off-by: default avatarRakesh Pillai <pillair@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      f35a7f91
    • Gabriel Craciunescu's avatar
      ath10k: ath10k_htt_rx_amsdu_allowed() use ath10k_dbg() · 984eb905
      Gabriel Craciunescu authored
      
      
      Each time we get disconnected from AP we get flooded with messages like:
      
      ...
      ath10k_pci 0000:03:00.0: no channel configured; ignoring frame(s)!
      <until ratelimit kicks in>
      ath10k_warn: 155 callbacks suppressed
      ...
      
      Use ath10k_dbg() here too.
      
      Signed-off-by: default avatarGabriel Craciunescu <nix.or.die@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      984eb905
  3. Aug 03, 2017
    • Rob Clark's avatar
      wcn36xx: check dma_mapping_error() · 4165cf7b
      Rob Clark authored
      
      
      Fixes splat:
      
        wcn36xx a204000.wcnss:smd-edge:wcnss:wifi: DMA-API: device driver failed to check map error[device address=0x00000000b45ba000] [size=3872 bytes] [mapped as single]
        ------------[ cut here ]------------
        WARNING: CPU: 0 PID: 0 at ../lib/dma-debug.c:1167 check_unmap+0x474/0x8d0
        Modules linked in: bnep(E) arc4(E) wcn36xx(E) mac80211(E) btqcomsmd(E) btqca(E) bluetooth(E) cfg80211(E) ecdh_generic(E) rfkill(E) vfat(E) fat(E) wcnss_ctrl qcom_wcnss_pil(E) mdt_loader(E) qcom_common(E) remoteproc(E) crc32_ce(E) virtio_ring(E) snd_soc_lpass_apq8016(E) snd_soc_lpass_cpu(E) virtio(E) snd_soc_lpass_platform(E) leds_gpio(E) snd_soc_hdmi_codec(E) snd_soc_apq8016_sbc(E) snd_soc_msm8916_digital(E) snd_soc_core(E) qcom_spmi_temp_alarm(E) ac97_bus(E) snd_pcm_dmaengine(E) snd_seq(E) snd_seq_device(E) snd_pcm(E) spi_qup(E) nvmem_qfprom(E) snd_timer(E) snd(E) soundcore(E) msm_rng(E) qcom_tsens(E) nvmem_core(E) uas(E) usb_storage(E) dm9601(E) cdc_ether(E) usbnet(E) mii(E) mmc_block(E) sdhci_msm(E) sdhci_pltfm(E) qcom_spmi_vadc(E) qcom_vadc_common(PE) clk_smd_rpm(E) industrialio(E)
         qcom_smd_regulator(E) pinctrl_spmi_mpp(E) pinctrl_spmi_gpio(E) rtc_pm8xxx(E) adv7511(E) smd_rpm(E) qcom_spmi_pmic(E) regmap_spmi(E) phy_msm_usb(E) usb3503(E) extcon_usb_gpio(E) ci_hdrc_msm(E) ci_hdrc(E) qcom_hwspinlock(E) udc_core(E) extcon_core(E) ehci_msm(E) i2c_qup(E) sdhci(E) msm(E) mmc_core(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) spmi_pmic_arb(E) drm(E) spmi(E) qcom_smd(E) rpmsg_core smsm(E) gpio_keys(E) smp2p(E) smem(E) hwspinlock_core(E) sunrpc(E) scsi_transport_iscsi(E)
        CPU: 0 PID: 0 Comm: swapper/0 Tainted: P            E   4.12.0-rc7+ #1476
        Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
        task: ffff000009049780 task.stack: ffff000009030000
        PC is at check_unmap+0x474/0x8d0
        LR is at check_unmap+0x474/0x8d0
        ...
        Mapped at:
         dma_entry_alloc+0x68/0xa8
         debug_dma_map_page+0x94/0x148
         wcn36xx_dxe_fill_skb.isra.1+0xbc/0xf8 [wcn36xx]
         wcn36xx_dxe_init+0x244/0x398 [wcn36xx]
         wcn36xx_start+0xf4/0x298 [wcn36xx]
      
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      4165cf7b
    • Rosen Penev's avatar
      ath9k: Add Dell Wireless 1802 with wowlan capability · 129e12a9
      Rosen Penev authored
      
      
      Add the Dell Wireless 1802 card as an AR9462 in the ath9k pci list.
      Note that the wowlan feature is supported and has been tested
      successfully.
      
      Signed-off by: Rosen Penev <rosenp@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      129e12a9
    • Christoph Fritz's avatar
      ath9k: fix debugfs file permission · f085c105
      Christoph Fritz authored
      
      
      This patch fixes a trivial debugfs file permission issue. Debugfs
      file ack_to has no write function, so S_IWUSR gets purged.
      
      Signed-off-by: default avatarChristoph Fritz <chf.fritz@googlemail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      f085c105
    • Philipp Zabel's avatar
      ath10k: explicitly request exclusive reset control · a764284f
      Philipp Zabel authored
      Commit a53e35db
      
       ("reset: Ensure drivers are explicit when requesting
      reset lines") started to transition the reset control request API calls
      to explicitly state whether the driver needs exclusive or shared reset
      control behavior. Convert all drivers requesting exclusive resets to the
      explicit API call so the temporary transition helpers can be removed.
      
      No functional changes.
      
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: ath10k@lists.infradead.org
      Cc: linux-wireless@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      a764284f
    • Manikanta Pubbisetty's avatar
      ath10k: push peer type to target for TDLS peers · be5b4f40
      Manikanta Pubbisetty authored
      
      
      WMI interface for all the firmwares(except QCA6174) does not include the
      type of peer(default/bss/tdls) requested during peer creation, therefore
      target creates a default peer.
      
      TDLS implementation on 10.4 firmware requires host to configure the
      peer type(tdls) for TDLS peers. This patch adds peer type parameter to the
      existing WMI interface for peer creation to accommodate this requirement.
      
      Tested this change on QCA9888(10.4-3.5.1-00018) and QCA988x(10.2.4.70.9-2)
      with ping tests for AP/STA modes.
      
      Signed-off-by: default avatarManikanta Pubbisetty <mpubbise@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      be5b4f40
    • Manikanta Pubbisetty's avatar
      ath10k: add tdls support for 10.4 firmwares · add6cd8d
      Manikanta Pubbisetty authored
      
      
      This patch adds the support of TDLS feature for 10.4 firmware
      versions.
      
      A new WMI service is added to advertise the support of TDLS for
      10.4 firmwares.
      
      Signed-off-by: default avatarManikanta Pubbisetty <mpubbise@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      add6cd8d
    • Manikanta Pubbisetty's avatar
      ath10k: extend wmi service map to accommodate new services · 810fe818
      Manikanta Pubbisetty authored
      
      
      Though there is room to accommodate 512 services in wmi service
      ready event, target uses only first 4-bits of each 32-bit word for
      advertising wmi services thereby limiting max wmi services to 64.
      
      TDLS implementation for 10.4 firmwares introduces new wmi services by
      making use of remaining unused bits of each 32-bit word, therefore the
      wmi service mapping in host needs to be extended.
      
      This patch adds the logic to extend the wmi SVCMAP to accommodate new
      wmi services.
      
      Signed-off-by: default avatarManikanta Pubbisetty <mpubbise@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      810fe818
    • Erik Stromdahl's avatar
      ath10k: sdio: fix compile warning · 433ef1b2
      Erik Stromdahl authored
      
      
      As suggested by Arnd Bergmann, replace
      "while (time_before_...) {}"
      with
      "do {} while (time_before_...)"
      
      This fixes the following warnings detected by gcc 4.1.2:
      
      drivers/net/wireless/ath/ath10k/sdio.c: In function
      ‘ath10k_sdio_mbox_rxmsg_pending_handler’:
      drivers/net/wireless/ath/ath10k/sdio.c:676: warning: ‘ret’ may be used uninitialized in this function
      
      ...
      
      drivers/net/wireless/ath/ath10k/sdio.c: In function
      ‘ath10k_sdio_irq_handler’:
      drivers/net/wireless/ath/ath10k/sdio.c:1331: warning: ‘ret’ may be used uninitialized in this function
      
      Signed-off-by: default avatarErik Stromdahl <erik.stromdahl@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      433ef1b2
    • Erik Stromdahl's avatar
      ath10k: add initial USB support · 4db66499
      Erik Stromdahl authored
      
      
      Chipsets like QCA9377 have support for USB so add initial USB bus
      support to ath10k. With this patch we have the low level HIF and
      HTC protocol working and it's possible to boot the firmware,
      but it's still not possible to connect or anything like.
      
      More changes are needed for full functionality. For that reason
      we print during initialisation:
      
      WARNING: ath10k USB support is incomplete, don't expect anything to work!
      
      Signed-off-by: default avatarErik Stromdahl <erik.stromdahl@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      4db66499
    • Erik Stromdahl's avatar
      ath10k: various usb related definitions · b00435e6
      Erik Stromdahl authored
      
      
      Definitions for USB based chipsets
      
      Signed-off-by: default avatarErik Stromdahl <erik.stromdahl@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      b00435e6
    • Matthias Frei's avatar
      ath10k: set a-mpdu receiver reference number · 47cc0ca9
      Matthias Frei authored
      
      
      Set the a-mpdu reference number in ath10k to make it accessible in the
      receivers radiotap header. Implemented as in ath9k.  The reference number is
      needed for troubleshooting and research at the receivers site (e.g. to identify
      mpdu's that were aggregated in an a-mpdu)
      
      Signed-off-by: default avatarMatthias Frei <mf@frei.media>
      [kvalo@qca.qualcomm.com: fix checkpatch warning, commit log cleanup]
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      47cc0ca9
  4. Jul 28, 2017
  5. Jul 27, 2017
    • Cong Wang's avatar
      wl1251: add a missing spin_lock_init() · 6e9aae17
      Cong Wang authored
      
      
      This fixes the following kernel warning:
      
        [ 5668.771453] BUG: spinlock bad magic on CPU#0, kworker/u2:3/9745
        [ 5668.771850]  lock: 0xce63ef20, .magic: 00000000, .owner: <none>/-1,
        .owner_cpu: 0
        [ 5668.772277] CPU: 0 PID: 9745 Comm: kworker/u2:3 Tainted: G        W
        4.12.0-03002-gec979a4-dirty #40
        [ 5668.772796] Hardware name: Nokia RX-51 board
        [ 5668.773071] Workqueue: phy1 wl1251_irq_work
        [ 5668.773345] [<c010c9e4>] (unwind_backtrace) from [<c010a274>]
        (show_stack+0x10/0x14)
        [ 5668.773803] [<c010a274>] (show_stack) from [<c01545a4>]
        (do_raw_spin_lock+0x6c/0xa0)
        [ 5668.774230] [<c01545a4>] (do_raw_spin_lock) from [<c06ca578>]
        (_raw_spin_lock_irqsave+0x10/0x18)
        [ 5668.774658] [<c06ca578>] (_raw_spin_lock_irqsave) from [<c048c010>]
        (wl1251_op_tx+0x38/0x5c)
        [ 5668.775115] [<c048c010>] (wl1251_op_tx) from [<c06a12e8>]
        (ieee80211_tx_frags+0x188/0x1c0)
        [ 5668.775543] [<c06a12e8>] (ieee80211_tx_frags) from [<c06a138c>]
        (__ieee80211_tx+0x6c/0x130)
        [ 5668.775970] [<c06a138c>] (__ieee80211_tx) from [<c06a3dbc>]
        (ieee80211_tx+0xdc/0x104)
        [ 5668.776367] [<c06a3dbc>] (ieee80211_tx) from [<c06a4af0>]
        (__ieee80211_subif_start_xmit+0x454/0x8c8)
        [ 5668.776824] [<c06a4af0>] (__ieee80211_subif_start_xmit) from
        [<c06a4f94>] (ieee80211_subif_start_xmit+0x30/0x2fc)
        [ 5668.777343] [<c06a4f94>] (ieee80211_subif_start_xmit) from
        [<c0578848>] (dev_hard_start_xmit+0x80/0x118)
        ...
      
      by adding the missing spin_lock_init().
      
      Reported-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      6e9aae17
    • Florian Fainelli's avatar
      bcma: gpio: Correct number of GPIOs for BCM53573 · 459c3514
      Florian Fainelli authored
      Broadcom BCM53573 SoCs actually have 32 GPIOs, and not 16.
      
      Fixes: 3f37ec79
      
       ("bcma: support BCM53573 series of wireless SoCs")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      459c3514
    • Colin Ian King's avatar
      rtlwifi: kfree entry until after entry->bssid has been accessed · d0116f6f
      Colin Ian King authored
      
      
      The current code kfree's entry and then dereferences it by accessing
      entry->bssid.  Avoid the dereference-after-free by moving the kfree
      after the access to entry->bssid.
      
      Detected by CoverityScan, CID#1448600 ("Read from pointer after free")
      
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      d0116f6f
    • Brian Norris's avatar
      mwifiex: correct channel stat buffer overflows · 4b5dde2d
      Brian Norris authored
      mwifiex records information about various channels as it receives scan
      information. It does this by appending to a buffer that was sized
      to the max number of supported channels on any band, but there are
      numerous problems:
      
      (a) scans can return info from more than one band (e.g., both 2.4 and 5
          GHz), so the determined "max" is not large enough
      (b) some firmware appears to return multiple results for a given
          channel, so the max *really* isn't large enough
      (c) there is no bounds checking when stashing these stats, so problems
          (a) and (b) can easily lead to buffer overflows
      
      Let's patch this by setting a slightly-more-correct max (that accounts
      for a combination of both 2.4G and 5G bands) and adding a bounds check
      when writing to our statistics buffer.
      
      Due to problem (b), we still might not properly report all known survey
      information (e.g., with "iw <dev> survey dump"), since duplicate results
      (or otherwise "larger than expected" results) will cause some
      truncation. But that's a problem for a future bugfix.
      
      (And because of this known deficiency, only log the excess at the WARN
      level, since that isn't visible by default in this driver and would
      otherwise be a bit too noisy.)
      
      Fixes: bf354433
      
       ("mwifiex: channel statistics support for mwifiex")
      Cc: <stable@vger.kernel.org>
      Cc: Avinash Patil <patila@marvell.com>
      Cc: Xinming Hu <huxm@marvell.com>
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      Reviewed-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: default avatarGanapathi Bhat <gbhat@marvell.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      4b5dde2d
    • David S. Miller's avatar
      Merge branch 'qed-next' · 53d56f79
      David S. Miller authored
      
      
      Manish Chopra says:
      
      ====================
      qed/qede: Enhancements
      
      This patch series adds these below features support in qed/qede
      
      1) Ntuple filter configuration [via ethtool -n/N]
      2) EEE (energy efficient ethernet) support [ethtool --set-eee/show-eee]
      3) Coalescing configuration support for VFs [via ethtool -c/C]
      
      Please consider applying this to "net-next"
      
      V1->V2:
      * Fixes below Kbuild test robot warning.
      
      drivers/net//ethernet/qlogic/qed/qed_l2.c:
      In function 'qed_get_queue_coalesce':
      drivers/net//ethernet/qlogic/qed/qed_l2.c:2137:8: error:
      implicit declaration of function 'qed_vf_pf_get_coalesce'
      [-Werror=implicit-function-declaration]
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53d56f79
    • Rahul Verma's avatar
      qed: enhanced per queue max coalesce value. · 41822878
      Rahul Verma authored
      
      
      Maximum coalesce per Rx/Tx queue is extended from
      255 to 511.
      
      Signed-off-by: default avatarRahul Verma <rahul.verma@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41822878
    • Rahul Verma's avatar
      qed: Read per queue coalesce from hardware · bf5a94bf
      Rahul Verma authored
      
      
      Retrieve the actual coalesce value from hardware for every Rx/Tx
      queue, instead of Rx/Tx coalesce value cached during set coalesce.
      
      Signed-off-by: default avatarRahul Verma <Rahul.Verma@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf5a94bf
    • Rahul Verma's avatar
      qed: Add support for vf coalesce configuration. · 477f2d14
      Rahul Verma authored
      
      
      This patch add the ethtool support to set RX/Tx coalesce
      value to the VF associated Rx/Tx queues.
      
      Signed-off-by: default avatarRahul Verma <Rahul.Verma@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      477f2d14
    • Sudarsana Reddy Kalluru's avatar
      qede: Add ethtool support for Energy efficient ethernet. · c3dc48f7
      Sudarsana Reddy Kalluru authored
      
      
      The patch adds ethtool callback implementations for querying/configuring
      the Energy Efficient Ethernet (EEE) parameters.
      
      Signed-off-by: default avatarSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3dc48f7
    • Sudarsana Reddy Kalluru's avatar
      qed: Add support for Energy efficient ethernet. · 645874e5
      Sudarsana Reddy Kalluru authored
      
      
      The patch adds required driver support for reading/configuring the
      Energy Efficient Ethernet (EEE) parameters.
      
      Signed-off-by: default avatarSudarsana Reddy Kalluru <sudarsana.kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      645874e5
    • Chopra, Manish's avatar
      qed/qede: Add setter APIs support for RX flow classification · 3f2a2b8b
      Chopra, Manish authored
      
      
      This patch adds support for adding and deleting rx flow
      classification rules. Using this user can classify RX flow
      constituting of TCP/UDP 4-tuples [src_ip/dst_ip and src_port/dst_port]
      to be steered on a given RX queue
      
      Signed-off-by: default avatarManish Chopra <manish.chopra@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f2a2b8b
    • Chopra, Manish's avatar
      qede: Add getter APIs support for RX flow classification · ec9b8dbd
      Chopra, Manish authored
      
      
      This patch adds support for ethtool getter APIs to query
      RX flow classification rules.
      
      Signed-off-by: default avatarManish Chopra <manish.chopra@cavium.com>
      Signed-off-by: default avatarYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ec9b8dbd
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · e27a8792
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2017-07-25
      
      This series contains updates to i40e and i40evf only.
      
      Gustavo Silva fixes a variable assignment, where the incorrect variable
      was being used to store the error parameter.
      
      Carolyn provides a fix for a problem found in systems when entering S4
      state, by ensuring that the misc vector's IRQ is disabled as well.
      
      Jake removes the single-threaded restriction on the module workqueue,
      which was causing issues with events such as CORER.  Does some future
      proofing, by changing how the driver displays the UDP tunnel type.
      
      Paul adds a retry in releasing resources if the admin queue times out
      during the first attempt to release the resources.
      
      Jesse fixes up references to 32bit timspec, since there are a small set
      of errors on 32 bit, so we need to be using the right calls for dealing
      with timespec64 variables.  Cleaned up code indentation and corrected
      an "if" conditional check, as well as making the code flow more clear.
      Cast or changed the types to remove warnings for comparing signed and
      unsigned types.  Adds missing includes in i40evf, which were being used
      but were not being directly included.
      
      Daniel Borkmann fixes i40e to fill the XDP prog_id with the id just like
      other XDP enabled drivers, so that on dump we can retrieve the attached
      program based on the id and dump BPF insns, opcodes, etc back to user
      space.
      
      Tushar Dave adds le32_to_cpu while evaluating the hardware descriptor
      fields, since they are in little-endian format.  Also removed
      unnecessary "__packed" to a couple of i40evf structures.
      
      Stefan Assmann fixes an issue when an administratively set MAC was set
      and should now be switched back to 00:00:00:00:00:00, the pf_set_mac
      flag is not being toggled back to false.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e27a8792
    • David S. Miller's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 143f0cf9
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      10GbE Intel Wired LAN Driver Updates 2017-07-25
      
      This series contains updates to ixgbe only.
      
      Tony provides all of the changes in the series, starting with adding a
      check to ensure that adding a MAC filter was successful, before setting the
      MACVLAN.  In order to receive notifications of link configurations of the
      external PHY and support the configuration of the internal iXFI link on
      X552 devices, Tony enables LASI interrupts.  Update the iXFI driver code
      flow, since the MAC register NW_MNG_IF_SEL fields have been redefined for
      X553 devices, so add MAC checks for iXFI flows.  Added additional checks
      for flow control autonegotiation, since it is not support for X553 fiber
       and XFI devices.
      
      v2: removed unnecessary parens noticed by David Miller in patch 6 of the
          series.
      v3: dropped patch 6 of the original series, while we work out a more
          generic solution for malicious driver detection (MDD) support.
      v4: updated patch 1 of the series with the comments from Joe Perches which
          were:
            - switched logic to return on error
            - return 0 on success
            - declare retval as an integer
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      143f0cf9
    • Jakub Kicinski's avatar
      bpf: install libbpf headers on 'make install' · eb54e522
      Jakub Kicinski authored
      
      
      Add a new target to install the bpf.h header to $(prefix)/include/bpf/
      directory.  This is necessary to build standalone applications using
      libbpf, without the need to clone the kernel sources and point to them.
      
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb54e522
    • Arnd Bergmann's avatar
      hamradio: dmascc: avoid -Wformat-overflow warning · 9877e105
      Arnd Bergmann authored
      
      
      gcc warns that the device name might overflow:
      
      drivers/net/hamradio/dmascc.c: In function 'dmascc_init':
      drivers/net/hamradio/dmascc.c:584:22: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=]
         sprintf(dev->name, "dmascc%i", 2 * n + i);
      drivers/net/hamradio/dmascc.c:584:3: note: 'sprintf' output between 8 and 17 bytes into a destination of size 16
         sprintf(dev->name, "dmascc%i", 2 * n + i);
      
      >From the static data in this file, I can tell that the index is
      strictly limited to 16, so it won't overflow. This simply changes
      the sprintf() to snprintf(), which is a good idea in general,
      and shuts up this warning.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9877e105
  6. Jul 26, 2017