1. 08 5月, 2019 1 次提交
  2. 06 5月, 2019 2 次提交
    • C
      net: ucc_geth - fix Oops when changing number of buffers in the ring · ee0df193
      Christophe Leroy 提交于
      When changing the number of buffers in the RX ring while the interface
      is running, the following Oops is encountered due to the new number
      of buffers being taken into account immediately while their allocation
      is done when opening the device only.
      
      [   69.882706] Unable to handle kernel paging request for data at address 0xf0000100
      [   69.890172] Faulting instruction address: 0xc033e164
      [   69.895122] Oops: Kernel access of bad area, sig: 11 [#1]
      [   69.900494] BE PREEMPT CMPCPRO
      [   69.907120] CPU: 0 PID: 0 Comm: swapper Not tainted 4.14.115-00006-g179ade8ce3-dirty #269
      [   69.915956] task: c0684310 task.stack: c06da000
      [   69.920470] NIP:  c033e164 LR: c02e44d0 CTR: c02e41fc
      [   69.925504] REGS: dfff1e20 TRAP: 0300   Not tainted  (4.14.115-00006-g179ade8ce3-dirty)
      [   69.934161] MSR:  00009032 <EE,ME,IR,DR,RI>  CR: 22004428  XER: 20000000
      [   69.940869] DAR: f0000100 DSISR: 20000000
      [   69.940869] GPR00: c0352d70 dfff1ed0 c0684310 f00000a4 00000040 dfff1f68 00000000 0000001f
      [   69.940869] GPR08: df53f410 1cc00040 00000021 c0781640 42004424 100c82b6 f00000a4 df53f5b0
      [   69.940869] GPR16: df53f6c0 c05daf84 00000040 00000000 00000040 c0782be4 00000000 00000001
      [   69.940869] GPR24: 00000000 df53f400 000001b0 df53f410 df53f000 0000003f df708220 1cc00044
      [   69.978348] NIP [c033e164] skb_put+0x0/0x5c
      [   69.982528] LR [c02e44d0] ucc_geth_poll+0x2d4/0x3f8
      [   69.987384] Call Trace:
      [   69.989830] [dfff1ed0] [c02e4554] ucc_geth_poll+0x358/0x3f8 (unreliable)
      [   69.996522] [dfff1f20] [c0352d70] net_rx_action+0x248/0x30c
      [   70.002099] [dfff1f80] [c04e93e4] __do_softirq+0xfc/0x310
      [   70.007492] [dfff1fe0] [c0021124] irq_exit+0xd0/0xd4
      [   70.012458] [dfff1ff0] [c000e7e0] call_do_irq+0x24/0x3c
      [   70.017683] [c06dbe80] [c0006bac] do_IRQ+0x64/0xc4
      [   70.022474] [c06dbea0] [c001097c] ret_from_except+0x0/0x14
      [   70.027964] --- interrupt: 501 at rcu_idle_exit+0x84/0x90
      [   70.027964]     LR = rcu_idle_exit+0x74/0x90
      [   70.037585] [c06dbf60] [20000000] 0x20000000 (unreliable)
      [   70.042984] [c06dbf80] [c004bb0c] do_idle+0xb4/0x11c
      [   70.047945] [c06dbfa0] [c004bd14] cpu_startup_entry+0x18/0x1c
      [   70.053682] [c06dbfb0] [c05fb034] start_kernel+0x370/0x384
      [   70.059153] [c06dbff0] [00003438] 0x3438
      [   70.063062] Instruction dump:
      [   70.066023] 38a00000 38800000 90010014 4bfff015 80010014 7c0803a6 3123ffff 7c691910
      [   70.073767] 38210010 4e800020 38600000 4e800020 <80e3005c> 80c30098 3107ffff 7d083910
      [   70.081690] ---[ end trace be7ccd9c1e1a9f12 ]---
      
      This patch forbids the modification of the number of buffers in the
      ring while the interface is running.
      
      Fixes: ac421852 ("ucc_geth: add ethtool support")
      Signed-off-by: NChristophe Leroy <christophe.leroy@c-s.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ee0df193
    • L
      dpaa_eth: fix SG frame cleanup · 17170e65
      Laurentiu Tudor 提交于
      Fix issue with the entry indexing in the sg frame cleanup code being
      off-by-1. This problem showed up when doing some basic iperf tests and
      manifested in traffic coming to a halt.
      Signed-off-by: NLaurentiu Tudor <laurentiu.tudor@nxp.com>
      Acked-by: NMadalin Bucur <madalin.bucur@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17170e65
  3. 05 5月, 2019 1 次提交
    • H
      net: phy: fix phy_validate_pause · b4010af9
      Heiner Kallweit 提交于
      We have valid scenarios where ETHTOOL_LINK_MODE_Pause_BIT doesn't
      need to be supported. Therefore extend the first check to check
      for rx_pause being set.
      
      See also phy_set_asym_pause:
      rx=0 and tx=1: advertise asym pause only
      rx=0 and tx=0: stop advertising both pause modes
      
      The fixed commit isn't wrong, it's just the one that introduced the
      linkmode bitmaps.
      
      Fixes: 3c1bcc86 ("net: ethernet: Convert phydev advertize and supported from u32 to link mode")
      Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4010af9
  4. 04 5月, 2019 9 次提交
  5. 01 5月, 2019 1 次提交
  6. 30 4月, 2019 1 次提交
  7. 29 4月, 2019 2 次提交
    • R
      ath10k: Drop WARN_ON()s that always trigger during system resume · 9e80ad37
      Rafael J. Wysocki 提交于
      ath10k_mac_vif_chan() always returns an error for the given vif
      during system-wide resume which reliably triggers two WARN_ON()s
      in ath10k_bss_info_changed() and they are not particularly
      useful in that code path, so drop them.
      
      Tested: QCA6174 hw3.2 PCI with WLAN.RM.2.0-00180-QCARMSWPZ-1
      Tested: QCA6174 hw3.2 SDIO with WLAN.RMH.4.4.1-00007-QCARMSWP-1
      
      Fixes: cd93b83a ("ath10k: support for multicast rate control")
      Fixes: f279294e ("ath10k: add support for configuring management packet rate")
      Cc: stable@vger.kernel.org
      Reviewed-by: NBrian Norris <briannorris@chromium.org>
      Tested-by: NBrian Norris <briannorris@chromium.org>
      Tested-by: NClaire Chang <tientzu@chromium.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      9e80ad37
    • B
      ath10k: perform crash dump collection in workqueue · 38faed15
      Brian Norris 提交于
      Commit 25733c4e ("ath10k: pci: use mutex for diagnostic window CE
      polling") introduced a regression where we try to sleep (grab a mutex)
      in an atomic context:
      
      [  233.602619] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:254
      [  233.602626] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/0
      [  233.602636] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.1.0-rc2 #4
      [  233.602642] Hardware name: Google Scarlet (DT)
      [  233.602647] Call trace:
      [  233.602663]  dump_backtrace+0x0/0x11c
      [  233.602672]  show_stack+0x20/0x28
      [  233.602681]  dump_stack+0x98/0xbc
      [  233.602690]  ___might_sleep+0x154/0x16c
      [  233.602696]  __might_sleep+0x78/0x88
      [  233.602704]  mutex_lock+0x2c/0x5c
      [  233.602717]  ath10k_pci_diag_read_mem+0x68/0x21c [ath10k_pci]
      [  233.602725]  ath10k_pci_diag_read32+0x48/0x74 [ath10k_pci]
      [  233.602733]  ath10k_pci_dump_registers+0x5c/0x16c [ath10k_pci]
      [  233.602741]  ath10k_pci_fw_crashed_dump+0xb8/0x548 [ath10k_pci]
      [  233.602749]  ath10k_pci_napi_poll+0x60/0x128 [ath10k_pci]
      [  233.602757]  net_rx_action+0x140/0x388
      [  233.602766]  __do_softirq+0x1b0/0x35c
      [...]
      
      ath10k_pci_fw_crashed_dump() is called from NAPI contexts, and firmware
      memory dumps are retrieved using the diag memory interface.
      
      A simple reproduction case is to run this on QCA6174A /
      WLAN.RM.4.4.1-00132-QCARMSWP-1, which happens to be a way to b0rk the
      firmware:
      
        dd if=/sys/kernel/debug/ieee80211/phy0/ath10k/mem_value bs=4K count=1
      of=/dev/null
      
      (NB: simulated firmware crashes, via debugfs, don't trigger firmware
      dumps.)
      
      The fix is to move the crash-dump into a workqueue context, and avoid
      relying on 'data_lock' for most mutual exclusion. We only keep using it
      here for protecting 'fw_crash_counter', while the rest of the coredump
      buffers are protected by a new 'dump_mutex'.
      
      I've tested the above with simulated firmware crashes (debugfs 'reset'
      file), real firmware crashes (the 'dd' command above), and a variety of
      reboot and suspend/resume configurations on QCA6174A.
      
      Reported here:
      http://lkml.kernel.org/linux-wireless/20190325202706.GA68720@google.com
      
      Fixes: 25733c4e ("ath10k: pci: use mutex for diagnostic window CE polling")
      Signed-off-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      38faed15
  8. 28 4月, 2019 9 次提交
  9. 27 4月, 2019 2 次提交
  10. 26 4月, 2019 2 次提交
    • B
      qmi_wwan: new Wistron, ZTE and D-Link devices · 88ef66a2
      Bjørn Mork 提交于
      Adding device entries found in vendor modified versions of this
      driver.  Function maps for some of the devices follow:
      
      WNC D16Q1, D16Q5, D18Q1 LTE CAT3 module (1435:0918)
      
      MI_00 Qualcomm HS-USB Diagnostics
      MI_01 Android Debug interface
      MI_02 Qualcomm HS-USB Modem
      MI_03 Qualcomm Wireless HS-USB Ethernet Adapter
      MI_04 Qualcomm Wireless HS-USB Ethernet Adapter
      MI_05 Qualcomm Wireless HS-USB Ethernet Adapter
      MI_06 USB Mass Storage Device
      
       T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
       D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
       P:  Vendor=1435 ProdID=0918 Rev= 2.32
       S:  Manufacturer=Android
       S:  Product=Android
       S:  SerialNumber=0123456789ABCDEF
       C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
       I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
       E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
       E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
       E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
       E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
       E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
       E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
       E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
       E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
       E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
       E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
       E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      WNC D18 LTE CAT3 module (1435:d182)
      
      MI_00 Qualcomm HS-USB Diagnostics
      MI_01 Androd Debug interface
      MI_02 Qualcomm HS-USB Modem
      MI_03 Qualcomm HS-USB NMEA
      MI_04 Qualcomm Wireless HS-USB Ethernet Adapter
      MI_05 Qualcomm Wireless HS-USB Ethernet Adapter
      MI_06 USB Mass Storage Device
      
      ZM8510/ZM8620/ME3960 (19d2:0396)
      
      MI_00 ZTE Mobile Broadband Diagnostics Port
      MI_01 ZTE Mobile Broadband AT Port
      MI_02 ZTE Mobile Broadband Modem
      MI_03 ZTE Mobile Broadband NDIS Port (qmi_wwan)
      MI_04 ZTE Mobile Broadband ADB Port
      
      ME3620_X (19d2:1432)
      
      MI_00 ZTE Diagnostics Device
      MI_01 ZTE UI AT Interface
      MI_02 ZTE Modem Device
      MI_03 ZTE Mobile Broadband Network Adapter
      MI_04 ZTE Composite ADB Interface
      Reported-by: NLars Melin <larsm17@gmail.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      88ef66a2
    • F
      net: ethernet: stmmac: manage the get_irq probe defer case · 56c5bc18
      Fabien Dessenne 提交于
      Manage the -EPROBE_DEFER error case for "stm32_pwr_wakeup"  IRQ.
      Signed-off-by: NFabien Dessenne <fabien.dessenne@st.com>
      Acked-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56c5bc18
  11. 25 4月, 2019 3 次提交
  12. 24 4月, 2019 3 次提交
  13. 23 4月, 2019 1 次提交
  14. 20 4月, 2019 3 次提交