1. 05 5月, 2020 10 次提交
  2. 26 4月, 2020 1 次提交
  3. 25 4月, 2020 3 次提交
    • D
      net: systemport: suppress warnings on failed Rx SKB allocations · 3554e54a
      Doug Berger 提交于
      The driver is designed to drop Rx packets and reclaim the buffers
      when an allocation fails, and the network interface needs to safely
      handle this packet loss. Therefore, an allocation failure of Rx
      SKBs is relatively benign.
      
      However, the output of the warning message occurs with a high
      scheduling priority that can cause excessive jitter/latency for
      other high priority processing.
      
      This commit suppresses the warning messages to prevent scheduling
      problems while retaining the failure count in the statistics of
      the network interface.
      Signed-off-by: NDoug Berger <opendmb@gmail.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3554e54a
    • D
      net: bcmgenet: suppress warnings on failed Rx SKB allocations · ecaeceb8
      Doug Berger 提交于
      The driver is designed to drop Rx packets and reclaim the buffers
      when an allocation fails, and the network interface needs to safely
      handle this packet loss. Therefore, an allocation failure of Rx
      SKBs is relatively benign.
      
      However, the output of the warning message occurs with a high
      scheduling priority that can cause excessive jitter/latency for
      other high priority processing.
      
      This commit suppresses the warning messages to prevent scheduling
      problems while retaining the failure count in the statistics of
      the network interface.
      Signed-off-by: NDoug Berger <opendmb@gmail.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecaeceb8
    • T
      macsec: avoid to set wrong mtu · 7f327080
      Taehee Yoo 提交于
      When a macsec interface is created, the mtu is calculated with the lower
      interface's mtu value.
      If the mtu of lower interface is lower than the length, which is needed
      by macsec interface, macsec's mtu value will be overflowed.
      So, if the lower interface's mtu is too low, macsec interface's mtu
      should be set to 0.
      
      Test commands:
          ip link add dummy0 mtu 10 type dummy
          ip link add macsec0 link dummy0 type macsec
          ip link show macsec0
      
      Before:
          11: macsec0@dummy0: <BROADCAST,MULTICAST,M-DOWN> mtu 4294967274
      After:
          11: macsec0@dummy0: <BROADCAST,MULTICAST,M-DOWN> mtu 0
      
      Fixes: c09440f7 ("macsec: introduce IEEE 802.1AE driver")
      Signed-off-by: NTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f327080
  4. 24 4月, 2020 11 次提交
  5. 23 4月, 2020 15 次提交
    • J
      ata: sata_inic162x fix a spelling issue · 89e7c850
      John Oldman 提交于
      Fixed a warning message spelling issue.
      Signed-off-by: NJohn Oldman <john.oldman@polehill.co.uk>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      89e7c850
    • D
      null_blk: Cleanup zoned device initialization · d205bde7
      Damien Le Moal 提交于
      Move all zoned mode related code from null_blk_main.c to
      null_blk_zoned.c, avoiding an ugly #ifdef in the process.
      Rename null_zone_init() into null_init_zoned_dev(), null_zone_exit()
      into null_free_zoned_dev() and add the new function
      null_register_zoned_dev() to finalize the zoned dev setup before
      add_disk().
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NJohannes Thumshirn <johannes.thumshirn@wdc.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      d205bde7
    • D
      null_blk: Fix zoned command handling · 9dd44c7e
      Damien Le Moal 提交于
      For write operations issued to a null_blk device with zoned mode
      enabled, the state and write pointer position of the zone targeted by
      the command should be checked before badblocks and memory backing
      are handled as the write may be first failed due to, for instance, a
      sector position not aligned with the zone write pointer. This order of
      checking for errors reflects more accuratly the behavior of physical
      zoned devices.
      
      Furthermore, the write pointer position of the target zone should be
      incremented only and only if no errors are reported by badblocks and
      memory backing handling.
      
      To fix this, introduce the small helper function null_process_cmd()
      which execute null_handle_badblocks() and null_handle_memory_backed()
      and use this function in null_zone_write() to correctly handle write
      requests to zoned null devices depending on the type and state of the
      write target zone. Also call this function in null_handle_zoned() to
      process read requests to zoned null devices.
      
      null_process_cmd() is called directly from null_handle_cmd() for
      regular null devices, resulting in no functional change for these type
      of devices. To have symmetric names, the function null_handle_zoned()
      is renamed to null_process_zoned_cmd().
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Reviewed-by: NChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      9dd44c7e
    • M
      interconnect: qcom: Fix uninitialized tcs_cmd::wait · 9c0c54a8
      Mike Tipton 提交于
      Currently, if tcs_cmd_gen is called with commit=false, then
      tcs_cmd::wait is left uninitialized. Since the tcs_cmd structures passed
      to this function aren't zero-initialized, then we're left with random
      wait values. This results in waiting for completion for more commands
      than is necessary, depending on what's on the stack at the time.
      
      Removing the unnecessary if-condition fixes this, but add an explicit
      memset of the tcs_cmd structure as well to ensure predictable behavior
      if more tcs_cmd members are added in the future.
      
      Fixes: 976daac4 ("interconnect: qcom: Consolidate interconnect RPMh support")
      Signed-off-by: NMike Tipton <mdtipton@codeaurora.org>
      Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/20200319231021.18108-1-mdtipton@codeaurora.orgSigned-off-by: NGeorgi Djakov <georgi.djakov@linaro.org>
      Link: https://lore.kernel.org/r/20200415130327.23059-2-georgi.djakov@linaro.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9c0c54a8
    • A
      tty: hvc: fix buffer overflow during hvc_alloc(). · 9a9fc42b
      Andrew Melnychenko 提交于
      If there is a lot(more then 16) of virtio-console devices
      or virtio_console module is reloaded
      - buffers 'vtermnos' and 'cons_ops' are overflowed.
      In older kernels it overruns spinlock which leads to kernel freezing:
      https://bugzilla.redhat.com/show_bug.cgi?id=1786239
      
      To reproduce the issue, you can try simple script that
      loads/unloads module. Something like this:
      while [ 1 ]
      do
        modprobe virtio_console
        sleep 2
        modprobe -r virtio_console
        sleep 2
      done
      
      Description of problem:
      Guest get 'Call Trace' when loading module "virtio_console"
      and unloading it frequently - clearly reproduced on kernel-4.18.0:
      
      [   81.498208] ------------[ cut here ]------------
      [   81.499263] pvqspinlock: lock 0xffffffff92080020 has corrupted value 0xc0774ca0!
      [   81.501000] WARNING: CPU: 0 PID: 785 at kernel/locking/qspinlock_paravirt.h:500 __pv_queued_spin_unlock_slowpath+0xc0/0xd0
      [   81.503173] Modules linked in: virtio_console fuse xt_CHECKSUM ipt_MASQUERADE xt_conntrack ipt_REJECT nft_counter nf_nat_tftp nft_objref nf_conntrack_tftp tun bridge stp llc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nf_tables_set nft_chain_nat_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 nft_chain_route_ipv6 nft_chain_nat_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack nft_chain_route_ipv4 ip6_tables nft_compat ip_set nf_tables nfnetlink sunrpc bochs_drm drm_vram_helper ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm i2c_piix4 pcspkr crct10dif_pclmul crc32_pclmul joydev ghash_clmulni_intel ip_tables xfs libcrc32c sd_mod sg ata_generic ata_piix virtio_net libata crc32c_intel net_failover failover serio_raw virtio_scsi dm_mirror dm_region_hash dm_log dm_mod [last unloaded: virtio_console]
      [   81.517019] CPU: 0 PID: 785 Comm: kworker/0:2 Kdump: loaded Not tainted 4.18.0-167.el8.x86_64 #1
      [   81.518639] Hardware name: Red Hat KVM, BIOS 1.12.0-5.scrmod+el8.2.0+5159+d8aa4d83 04/01/2014
      [   81.520205] Workqueue: events control_work_handler [virtio_console]
      [   81.521354] RIP: 0010:__pv_queued_spin_unlock_slowpath+0xc0/0xd0
      [   81.522450] Code: 07 00 48 63 7a 10 e8 bf 64 f5 ff 66 90 c3 8b 05 e6 cf d6 01 85 c0 74 01 c3 8b 17 48 89 fe 48 c7 c7 38 4b 29 91 e8 3a 6c fa ff <0f> 0b c3 0f 0b 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 48
      [   81.525830] RSP: 0018:ffffb51a01ffbd70 EFLAGS: 00010282
      [   81.526798] RAX: 0000000000000000 RBX: 0000000000000010 RCX: 0000000000000000
      [   81.528110] RDX: ffff9e66f1826480 RSI: ffff9e66f1816a08 RDI: ffff9e66f1816a08
      [   81.529437] RBP: ffffffff9153ff10 R08: 000000000000026c R09: 0000000000000053
      [   81.530732] R10: 0000000000000000 R11: ffffb51a01ffbc18 R12: ffff9e66cd682200
      [   81.532133] R13: ffffffff9153ff10 R14: ffff9e6685569500 R15: ffff9e66cd682000
      [   81.533442] FS:  0000000000000000(0000) GS:ffff9e66f1800000(0000) knlGS:0000000000000000
      [   81.534914] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   81.535971] CR2: 00005624c55b14d0 CR3: 00000003a023c000 CR4: 00000000003406f0
      [   81.537283] Call Trace:
      [   81.537763]  __raw_callee_save___pv_queued_spin_unlock_slowpath+0x11/0x20
      [   81.539011]  .slowpath+0x9/0xe
      [   81.539585]  hvc_alloc+0x25e/0x300
      [   81.540237]  init_port_console+0x28/0x100 [virtio_console]
      [   81.541251]  handle_control_message.constprop.27+0x1c4/0x310 [virtio_console]
      [   81.542546]  control_work_handler+0x70/0x10c [virtio_console]
      [   81.543601]  process_one_work+0x1a7/0x3b0
      [   81.544356]  worker_thread+0x30/0x390
      [   81.545025]  ? create_worker+0x1a0/0x1a0
      [   81.545749]  kthread+0x112/0x130
      [   81.546358]  ? kthread_flush_work_fn+0x10/0x10
      [   81.547183]  ret_from_fork+0x22/0x40
      [   81.547842] ---[ end trace aa97649bd16c8655 ]---
      [   83.546539] general protection fault: 0000 [#1] SMP NOPTI
      [   83.547422] CPU: 5 PID: 3225 Comm: modprobe Kdump: loaded Tainted: G        W        --------- -  - 4.18.0-167.el8.x86_64 #1
      [   83.549191] Hardware name: Red Hat KVM, BIOS 1.12.0-5.scrmod+el8.2.0+5159+d8aa4d83 04/01/2014
      [   83.550544] RIP: 0010:__pv_queued_spin_lock_slowpath+0x19a/0x2a0
      [   83.551504] Code: c4 c1 ea 12 41 be 01 00 00 00 4c 8d 6d 14 41 83 e4 03 8d 42 ff 49 c1 e4 05 48 98 49 81 c4 40 a5 02 00 4c 03 24 c5 60 48 34 91 <49> 89 2c 24 b8 00 80 00 00 eb 15 84 c0 75 0a 41 0f b6 54 24 14 84
      [   83.554449] RSP: 0018:ffffb51a0323fdb0 EFLAGS: 00010202
      [   83.555290] RAX: 000000000000301c RBX: ffffffff92080020 RCX: 0000000000000001
      [   83.556426] RDX: 000000000000301d RSI: 0000000000000000 RDI: 0000000000000000
      [   83.557556] RBP: ffff9e66f196a540 R08: 000000000000028a R09: ffff9e66d2757788
      [   83.558688] R10: 0000000000000000 R11: 0000000000000000 R12: 646e61725f770b07
      [   83.559821] R13: ffff9e66f196a554 R14: 0000000000000001 R15: 0000000000180000
      [   83.560958] FS:  00007fd5032e8740(0000) GS:ffff9e66f1940000(0000) knlGS:0000000000000000
      [   83.562233] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   83.563149] CR2: 00007fd5022b0da0 CR3: 000000038c334000 CR4: 00000000003406e0
      Signed-off-by: NAndrew Melnychenko <andrew@daynix.com>
      Cc: stable <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20200414191503.3471783-1-andrew@daynix.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9a9fc42b
    • J
      tty: rocket, avoid OOB access · 7127d243
      Jiri Slaby 提交于
      init_r_port can access pc104 array out of bounds. pc104 is a 2D array
      defined to have 4 members. Each member has 8 submembers.
      * we can have more than 4 (PCI) boards, i.e. [board] can be OOB
      * line is not modulo-ed by anything, so the first line on the second
        board can be 4, on the 3rd 12 or alike (depending on previously
        registered boards). It's zero only on the first line of the first
        board. So even [line] can be OOB, quite soon (with the 2nd registered
        board already).
      
      This code is broken for ages, so just avoid the OOB accesses and don't
      try to fix it as we would need to find out the correct line number. Use
      the default: RS232, if we are out.
      
      Generally, if anyone needs to set the interface types, a module parameter
      is past the last thing that should be used for this purpose. The
      parameters' description says it's for ISA cards anyway.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: stable <stable@vger.kernel.org>
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Link: https://lore.kernel.org/r/20200417105959.15201-2-jslaby@suse.czSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7127d243
    • Z
      tty: serial: bcm63xx: fix missing clk_put() in bcm63xx_uart · 580d952e
      Zou Wei 提交于
      This patch fixes below error reported by coccicheck
      
      drivers/tty/serial/bcm63xx_uart.c:848:2-8: ERROR: missing clk_put;
      clk_get on line 842 and execution via conditional on line 846
      
      Fixes: ab4382d2 ("tty: move drivers/serial/ to drivers/tty/serial/")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: NZou Wei <zou_wei@huawei.com>
      Cc: stable <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/1587472306-105155-1-git-send-email-zou_wei@huawei.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      580d952e
    • N
      vt: don't hardcode the mem allocation upper bound · 2717769e
      Nicolas Pitre 提交于
      The code in vc_do_resize() bounds the memory allocation size to avoid
      exceeding MAX_ORDER down the kzalloc() call chain and generating a
      runtime warning triggerable from user space. However, not only is it
      unwise to use a literal value here, but MAX_ORDER may also be
      configurable based on CONFIG_FORCE_MAX_ZONEORDER.
      Let's use KMALLOC_MAX_SIZE instead.
      
      Note that prior commit bb1107f7 ("mm, slab: make sure that
      KMALLOC_MAX_SIZE will fit into MAX_ORDER") the KMALLOC_MAX_SIZE value
      could not be relied upon.
      Signed-off-by: NNicolas Pitre <nico@fluxnic.net>
      Cc: <stable@vger.kernel.org> # v4.10+
      
      Link: https://lore.kernel.org/r/nycvar.YSQ.7.76.2003281702410.2671@knanqh.ubzrSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2717769e
    • A
      tty: serial: owl: add "much needed" clk_prepare_enable() · abf42d2f
      Amit Singh Tomar 提交于
      commit 8ba92cf5 ("arm64: dts: actions: s700: Add Clock Management Unit")
      breaks the UART on Cubieboard7-lite (based on S700 SoC), This is due to the
      fact that generic clk routine clk_disable_unused() disables the gate clks,
      and that in turns disables OWL UART (but UART driver never enables it). To
      prove this theory, Andre suggested to use "clk_ignore_unused" in kernel
      commnd line and it worked (Kernel happily lands into RAMFS world :)).
      
      This commit fix this up by adding clk_prepare_enable().
      
      Fixes: 8ba92cf5 ("arm64: dts: actions: s700: Add Clock Management Unit")
      Signed-off-by: NAmit Singh Tomar <amittomer25@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/1587067917-1400-1-git-send-email-amittomer25@gmail.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      abf42d2f
    • N
      vt: don't use kmalloc() for the unicode screen buffer · 9a98e7a8
      Nicolas Pitre 提交于
      Even if the actual screen size is bounded in vc_do_resize(), the unicode
      buffer is still a little more than twice the size of the glyph buffer
      and may exceed MAX_ORDER down the kmalloc() path. This can be triggered
      from user space.
      
      Since there is no point having a physically contiguous buffer here,
      let's avoid the above issue as well as reducing pressure on high order
      allocations by using vmalloc() instead.
      Signed-off-by: NNicolas Pitre <nico@fluxnic.net>
      Cc: <stable@vger.kernel.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Link: https://lore.kernel.org/r/nycvar.YSQ.7.76.2003282214210.2671@knanqh.ubzrSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9a98e7a8
    • C
      USB: sisusbvga: Change port variable from signed to unsigned · 2df7405f
      Changming Liu 提交于
      Change a bunch of arguments of wrapper functions which pass signed
      integer to an unsigned integer which might cause undefined behaviors
      when sign integer overflow.
      Signed-off-by: NChangming Liu <liu.changm@northeastern.edu>
      Cc: stable <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/BL0PR06MB45482D71EA822D75A0E60A2EE5D50@BL0PR06MB4548.namprd06.prod.outlook.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2df7405f
    • A
      usb-storage: Add unusual_devs entry for JMicron JMS566 · 94f9c8c3
      Alan Stern 提交于
      Cyril Roelandt reports that his JMicron JMS566 USB-SATA bridge fails
      to handle WRITE commands with the FUA bit set, even though it claims
      to support FUA.  (Oddly enough, a later version of the same bridge,
      version 2.03 as opposed to 1.14, doesn't claim to support FUA.  Also
      oddly, the bridge _does_ support FUA when using the UAS transport
      instead of the Bulk-Only transport -- but this device was blacklisted
      for uas in commit bc3bdb12 ("usb-storage: Disable UAS on JMicron
      SATA enclosure") for apparently unrelated reasons.)
      
      This patch adds a usb-storage unusual_devs entry with the BROKEN_FUA
      flag.  This allows the bridge to work properly with usb-storage.
      Reported-and-tested-by: NCyril Roelandt <tipecaml@gmail.com>
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: <stable@vger.kernel.org>
      
      Link: https://lore.kernel.org/r/Pine.LNX.4.44L0.2004221613110.11262-100000@iolanthe.rowland.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      94f9c8c3
    • A
      USB: hub: Revert commit bd0e6c96 ("usb: hub: try old enumeration scheme... · 3155f4f4
      Alan Stern 提交于
      USB: hub: Revert commit bd0e6c96 ("usb: hub: try old enumeration scheme first for high speed devices")
      
      Commit bd0e6c96 ("usb: hub: try old enumeration scheme first for
      high speed devices") changed the way the hub driver enumerates
      high-speed devices.  Instead of using the "new" enumeration scheme
      first and switching to the "old" scheme if that doesn't work, we start
      with the "old" scheme.  In theory this is better because the "old"
      scheme is slightly faster -- it involves resetting the device only
      once instead of twice.
      
      However, for a long time Windows used only the "new" scheme.  Zeng Tao
      said that Windows 8 and later use the "old" scheme for high-speed
      devices, but apparently there are some devices that don't like it.
      William Bader reports that the Ricoh webcam built into his Sony Vaio
      laptop not only doesn't enumerate under the "old" scheme, it gets hung
      up so badly that it won't then enumerate under the "new" scheme!  Only
      a cold reset will fix it.
      
      Therefore we will revert the commit and go back to trying the "new"
      scheme first for high-speed devices.
      Reported-and-tested-by: NWilliam Bader <williambader@hotmail.com>
      Ref: https://bugzilla.kernel.org/show_bug.cgi?id=207219Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Fixes: bd0e6c96 ("usb: hub: try old enumeration scheme first for high speed devices")
      CC: Zeng Tao <prime.zeng@hisilicon.com>
      CC: <stable@vger.kernel.org>
      
      Link: https://lore.kernel.org/r/Pine.LNX.4.44L0.2004221611230.11262-100000@iolanthe.rowland.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3155f4f4
    • A
      USB: hub: Fix handling of connect changes during sleep · 9f952e26
      Alan Stern 提交于
      Commit 8099f58f ("USB: hub: Don't record a connect-change event
      during reset-resume") wasn't very well conceived.  The problem it
      tried to fix was that if a connect-change event occurred while the
      system was asleep (such as a device disconnecting itself from the bus
      when it is suspended and then reconnecting when it resumes)
      requiring a reset-resume during the system wakeup transition, the hub
      port's change_bit entry would remain set afterward.  This would cause
      the hub driver to believe another connect-change event had occurred
      after the reset-resume, which was wrong and would lead the driver to
      send unnecessary requests to the device (which could interfere with a
      firmware update).
      
      The commit tried to fix this by not setting the change_bit during the
      wakeup.  But this was the wrong thing to do; it means that when a
      device is unplugged while the system is asleep, the hub driver doesn't
      realize anything has happened: The change_bit flag which would tell it
      to handle the disconnect event is clear.
      
      The commit needs to be reverted and the problem fixed in a different
      way.  Fortunately an alternative solution was noted in the commit's
      Changelog: We can continue to set the change_bit entry in
      hub_activate() but then clear it when a reset-resume occurs.  That way
      the the hub driver will see the change_bit when a device is
      disconnected but won't see it when the device is still present.
      
      That's what this patch does.
      Reported-and-tested-by: NPeter Chen <peter.chen@nxp.com>
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Fixes: 8099f58f ("USB: hub: Don't record a connect-change event during reset-resume")
      Tested-by: NPaul Zimmerman <pauldzim@gmail.com>
      CC: <stable@vger.kernel.org>
      
      Link: https://lore.kernel.org/r/Pine.LNX.4.44L0.2004221602480.11262-100000@iolanthe.rowland.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9f952e26
    • M
      staging: vt6656: Fix calling conditions of vnt_set_bss_mode · 664ba518
      Malcolm Priestley 提交于
      vnt_set_bss_mode needs to be called on all changes to BSS_CHANGED_BASIC_RATES,
      BSS_CHANGED_ERP_PREAMBLE and BSS_CHANGED_ERP_SLOT
      
      Remove all other calls and vnt_update_ifs which is called in vnt_set_bss_mode.
      
      Fixes an issue that preamble mode is not being updated correctly.
      
      Fixes: c1260357 ("staging: vt6656: Only call vnt_set_bss_mode on basic rates change.")
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NMalcolm Priestley <tvboxspy@gmail.com>
      Link: https://lore.kernel.org/r/44110801-6234-50d8-c583-9388f04b486c@gmail.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      664ba518