1. 18 Jan, 2024 12 commits
  2. 14 Jan, 2024 2 commits
  3. 12 Jan, 2024 14 commits
  4. 10 Jan, 2024 12 commits
    • Rahul Rameshbabu's avatar
      wifi: b43: Disable QoS for bcm4331 · 09795bde
      Rahul Rameshbabu authored
      bcm4331 seems to not function correctly with QoS support. This may be due
      to issues with currently available firmware or potentially a device
      specific issue.
      
      When queues that are not of the default "best effort" priority are
      selected, traffic appears to not transmit out of the hardware while no
      errors are returned. This behavior is present among all the other priority
      queues: video, voice, and background. While this can be worked around by
      setting a kernel parameter, the default behavior is problematic for most
      users and may be difficult to debug. This patch offers a working out-of-box
      experience for bcm4331 users.
      
      Log of the issue (using ssh low-priority traffic as an example):
          ssh -T -vvvv git@github.com
          OpenSSH_9.6p1, OpenSSL 3.0.12 24 Oct 2023
          debug1: Reading configuration data /etc/ssh/ssh_config
          debug2: checking match for 'host * exec "/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7sh1i8js8w-gnupg-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1'"' host github.com originally github.com
          debug3: /etc/ssh/ssh_config line 5: matched 'host "github.com"'
          debug1: Executing command: '/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7sh1i8js8w-gnupg-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1''
          debug3: command returned status 0
          debug3: /etc/ssh/ssh_config line 5: matched 'exec "/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0r"'
          debug2: match found
          debug1: /etc/ssh/ssh_config line 9: Applying options for *
          debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/binary-eater/.ssh/known_hosts'
          debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/binary-eater/.ssh/known_hosts2'
          debug2: resolving "github.com" port 22
          debug3: resolve_host: lookup github.com:22
          debug3: channel_clear_timeouts: clearing
          debug3: ssh_connect_direct: entering
          debug1: Connecting to github.com [192.30.255.113] port 22.
          debug3: set_sock_tos: set socket 3 IP_TOS 0x48
      
      Fixes: e6f5b934 ("b43: Add QOS support")
      Signed-off-by: default avatarRahul Rameshbabu <sergeantsagara@protonmail.com>
      Reviewed-by: default avatarJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231231050300.122806-5-sergeantsagara@protonmail.com
      09795bde
    • Rahul Rameshbabu's avatar
      wifi: b43: Stop correct queue in DMA worker when QoS is disabled · 581c8967
      Rahul Rameshbabu authored
      When QoS is disabled, the queue priority value will not map to the correct
      ieee80211 queue since there is only one queue. Stop queue 0 when QoS is
      disabled to prevent trying to stop a non-existent queue and failing to stop
      the actual queue instantiated.
      
      Fixes: bad69194 ("b43: avoid packet losses in the dma worker code.")
      Signed-off-by: default avatarRahul Rameshbabu <sergeantsagara@protonmail.com>
      Reviewed-by: default avatarJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231231050300.122806-4-sergeantsagara@protonmail.com
      581c8967
    • Rahul Rameshbabu's avatar
      wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled · 77135a38
      Rahul Rameshbabu authored
      When QoS is disabled, the queue priority value will not map to the correct
      ieee80211 queue since there is only one queue. Stop/wake queue 0 when QoS
      is disabled to prevent trying to stop/wake a non-existent queue and failing
      to stop/wake the actual queue instantiated.
      
      Fixes: 5100d5ac ("b43: Add PIO support for PCMCIA devices")
      Signed-off-by: default avatarRahul Rameshbabu <sergeantsagara@protonmail.com>
      Reviewed-by: default avatarJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231231050300.122806-3-sergeantsagara@protonmail.com
      77135a38
    • Rahul Rameshbabu's avatar
      wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled · 9636951e
      Rahul Rameshbabu authored
      When QoS is disabled, the queue priority value will not map to the correct
      ieee80211 queue since there is only one queue. Stop/wake queue 0 when QoS
      is disabled to prevent trying to stop/wake a non-existent queue and failing
      to stop/wake the actual queue instantiated.
      
      Log of issue before change (with kernel parameter qos=0):
          [  +5.112651] ------------[ cut here ]------------
          [  +0.000005] WARNING: CPU: 7 PID: 25513 at net/mac80211/util.c:449 __ieee80211_wake_queue+0xd5/0x180 [mac80211]
          [  +0.000067] Modules linked in: b43(O) snd_seq_dummy snd_hrtimer snd_seq snd_seq_device nft_chain_nat xt_MASQUERADE nf_nat xfrm_user xfrm_algo xt_addrtype overlay ccm af_packet amdgpu snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio drm_exec amdxcp gpu_sched xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_rpfilter ipt_rpfilter xt_pkttype xt_LOG nf_log_syslog xt_tcpudp nft_compat nf_tables nfnetlink sch_fq_codel btusb uinput iTCO_wdt ctr btrtl intel_pmc_bxt i915 intel_rapl_msr mei_hdcp mei_pxp joydev at24 watchdog btintel atkbd libps2 serio radeon btbcm vivaldi_fmap btmtk intel_rapl_common snd_hda_codec_hdmi bluetooth uvcvideo nls_iso8859_1 applesmc nls_cp437 x86_pkg_temp_thermal snd_hda_intel intel_powerclamp vfat videobuf2_vmalloc coretemp fat snd_intel_dspcfg crc32_pclmul uvc polyval_clmulni snd_intel_sdw_acpi loop videobuf2_memops snd_hda_codec tun drm_suballoc_helper polyval_generic drm_ttm_helper drm_buddy tap ecdh_generic videobuf2_v4l2 gf128mul macvlan ttm ghash_clmulni_intel ecc tg3
          [  +0.000044]  videodev bridge snd_hda_core rapl crc16 drm_display_helper cec mousedev snd_hwdep evdev intel_cstate bcm5974 hid_appleir videobuf2_common stp mac_hid libphy snd_pcm drm_kms_helper acpi_als mei_me intel_uncore llc mc snd_timer intel_gtt industrialio_triggered_buffer apple_mfi_fastcharge i2c_i801 mei snd lpc_ich agpgart ptp i2c_smbus thunderbolt apple_gmux i2c_algo_bit kfifo_buf video industrialio soundcore pps_core wmi tiny_power_button sbs sbshc button ac cordic bcma mac80211 cfg80211 ssb rfkill libarc4 kvm_intel kvm drm irqbypass fuse backlight firmware_class efi_pstore configfs efivarfs dmi_sysfs ip_tables x_tables autofs4 dm_crypt cbc encrypted_keys trusted asn1_encoder tee tpm rng_core input_leds hid_apple led_class hid_generic usbhid hid sd_mod t10_pi crc64_rocksoft crc64 crc_t10dif crct10dif_generic ahci libahci libata uhci_hcd ehci_pci ehci_hcd crct10dif_pclmul crct10dif_common sha512_ssse3 sha512_generic sha256_ssse3 sha1_ssse3 aesni_intel usbcore scsi_mod libaes crypto_simd cryptd scsi_common
          [  +0.000055]  usb_common rtc_cmos btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq dm_snapshot dm_bufio dm_mod dax [last unloaded: b43(O)]
          [  +0.000009] CPU: 7 PID: 25513 Comm: irq/17-b43 Tainted: G        W  O       6.6.7 #1-NixOS
          [  +0.000003] Hardware name: Apple Inc. MacBookPro8,3/Mac-942459F5819B171B, BIOS 87.0.0.0.0 06/13/2019
          [  +0.000001] RIP: 0010:__ieee80211_wake_queue+0xd5/0x180 [mac80211]
          [  +0.000046] Code: 00 45 85 e4 0f 85 9b 00 00 00 48 8d bd 40 09 00 00 f0 48 0f ba ad 48 09 00 00 00 72 0f 5b 5d 41 5c 41 5d 41 5e e9 cb 6d 3c d0 <0f> 0b 5b 5d 41 5c 41 5d 41 5e c3 cc cc cc cc 48 8d b4 16 94 00 00
          [  +0.000002] RSP: 0018:ffffc90003c77d60 EFLAGS: 00010097
          [  +0.000001] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000000
          [  +0.000001] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff88820b924900
          [  +0.000002] RBP: ffff88820b924900 R08: ffffc90003c77d90 R09: 000000000003bfd0
          [  +0.000001] R10: ffff88820b924900 R11: ffffc90003c77c68 R12: 0000000000000000
          [  +0.000001] R13: 0000000000000000 R14: ffffc90003c77d90 R15: ffffffffc0fa6f40
          [  +0.000001] FS:  0000000000000000(0000) GS:ffff88846fb80000(0000) knlGS:0000000000000000
          [  +0.000001] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          [  +0.000001] CR2: 00007fafda7ae008 CR3: 000000046d220005 CR4: 00000000000606e0
          [  +0.000002] Call Trace:
          [  +0.000003]  <TASK>
          [  +0.000001]  ? __ieee80211_wake_queue+0xd5/0x180 [mac80211]
          [  +0.000044]  ? __warn+0x81/0x130
          [  +0.000005]  ? __ieee80211_wake_queue+0xd5/0x180 [mac80211]
          [  +0.000045]  ? report_bug+0x171/0x1a0
          [  +0.000004]  ? handle_bug+0x41/0x70
          [  +0.000004]  ? exc_invalid_op+0x17/0x70
          [  +0.000003]  ? asm_exc_invalid_op+0x1a/0x20
          [  +0.000005]  ? __ieee80211_wake_queue+0xd5/0x180 [mac80211]
          [  +0.000043]  ieee80211_wake_queue+0x4a/0x80 [mac80211]
          [  +0.000044]  b43_dma_handle_txstatus+0x29c/0x3a0 [b43]
          [  +0.000016]  ? __pfx_irq_thread_fn+0x10/0x10
          [  +0.000002]  b43_handle_txstatus+0x61/0x80 [b43]
          [  +0.000012]  b43_interrupt_thread_handler+0x3f9/0x6b0 [b43]
          [  +0.000011]  irq_thread_fn+0x23/0x60
          [  +0.000002]  irq_thread+0xfe/0x1c0
          [  +0.000002]  ? __pfx_irq_thread_dtor+0x10/0x10
          [  +0.000001]  ? __pfx_irq_thread+0x10/0x10
          [  +0.000001]  kthread+0xe8/0x120
          [  +0.000003]  ? __pfx_kthread+0x10/0x10
          [  +0.000003]  ret_from_fork+0x34/0x50
          [  +0.000002]  ? __pfx_kthread+0x10/0x10
          [  +0.000002]  ret_from_fork_asm+0x1b/0x30
          [  +0.000004]  </TASK>
          [  +0.000001] ---[ end trace 0000000000000000 ]---
      
          [  +0.000065] ------------[ cut here ]------------
          [  +0.000001] WARNING: CPU: 0 PID: 56077 at net/mac80211/util.c:514 __ieee80211_stop_queue+0xcc/0xe0 [mac80211]
          [  +0.000077] Modules linked in: b43(O) snd_seq_dummy snd_hrtimer snd_seq snd_seq_device nft_chain_nat xt_MASQUERADE nf_nat xfrm_user xfrm_algo xt_addrtype overlay ccm af_packet amdgpu snd_hda_codec_cirrus snd_hda_codec_generic ledtrig_audio drm_exec amdxcp gpu_sched xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_rpfilter ipt_rpfilter xt_pkttype xt_LOG nf_log_syslog xt_tcpudp nft_compat nf_tables nfnetlink sch_fq_codel btusb uinput iTCO_wdt ctr btrtl intel_pmc_bxt i915 intel_rapl_msr mei_hdcp mei_pxp joydev at24 watchdog btintel atkbd libps2 serio radeon btbcm vivaldi_fmap btmtk intel_rapl_common snd_hda_codec_hdmi bluetooth uvcvideo nls_iso8859_1 applesmc nls_cp437 x86_pkg_temp_thermal snd_hda_intel intel_powerclamp vfat videobuf2_vmalloc coretemp fat snd_intel_dspcfg crc32_pclmul uvc polyval_clmulni snd_intel_sdw_acpi loop videobuf2_memops snd_hda_codec tun drm_suballoc_helper polyval_generic drm_ttm_helper drm_buddy tap ecdh_generic videobuf2_v4l2 gf128mul macvlan ttm ghash_clmulni_intel ecc tg3
          [  +0.000073]  videodev bridge snd_hda_core rapl crc16 drm_display_helper cec mousedev snd_hwdep evdev intel_cstate bcm5974 hid_appleir videobuf2_common stp mac_hid libphy snd_pcm drm_kms_helper acpi_als mei_me intel_uncore llc mc snd_timer intel_gtt industrialio_triggered_buffer apple_mfi_fastcharge i2c_i801 mei snd lpc_ich agpgart ptp i2c_smbus thunderbolt apple_gmux i2c_algo_bit kfifo_buf video industrialio soundcore pps_core wmi tiny_power_button sbs sbshc button ac cordic bcma mac80211 cfg80211 ssb rfkill libarc4 kvm_intel kvm drm irqbypass fuse backlight firmware_class efi_pstore configfs efivarfs dmi_sysfs ip_tables x_tables autofs4 dm_crypt cbc encrypted_keys trusted asn1_encoder tee tpm rng_core input_leds hid_apple led_class hid_generic usbhid hid sd_mod t10_pi crc64_rocksoft crc64 crc_t10dif crct10dif_generic ahci libahci libata uhci_hcd ehci_pci ehci_hcd crct10dif_pclmul crct10dif_common sha512_ssse3 sha512_generic sha256_ssse3 sha1_ssse3 aesni_intel usbcore scsi_mod libaes crypto_simd cryptd scsi_common
          [  +0.000084]  usb_common rtc_cmos btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq dm_snapshot dm_bufio dm_mod dax [last unloaded: b43]
          [  +0.000012] CPU: 0 PID: 56077 Comm: kworker/u16:17 Tainted: G        W  O       6.6.7 #1-NixOS
          [  +0.000003] Hardware name: Apple Inc. MacBookPro8,3/Mac-942459F5819B171B, BIOS 87.0.0.0.0 06/13/2019
          [  +0.000001] Workqueue: phy7 b43_tx_work [b43]
          [  +0.000019] RIP: 0010:__ieee80211_stop_queue+0xcc/0xe0 [mac80211]
          [  +0.000076] Code: 74 11 48 8b 78 08 0f b7 d6 89 e9 4c 89 e6 e8 ab f4 00 00 65 ff 0d 9c b7 34 3f 0f 85 55 ff ff ff 0f 1f 44 00 00 e9 4b ff ff ff <0f> 0b 5b 5d 41 5c 41 5d c3 cc cc cc cc 0f 1f 80 00 00 00 00 90 90
          [  +0.000002] RSP: 0000:ffffc90004157d50 EFLAGS: 00010097
          [  +0.000002] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000000
          [  +0.000002] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8882d65d0900
          [  +0.000002] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000001
          [  +0.000001] R10: 00000000000000ff R11: ffff88814d0155a0 R12: ffff8882d65d0900
          [  +0.000002] R13: 0000000000000000 R14: ffff8881002d2800 R15: 00000000000000d0
          [  +0.000002] FS:  0000000000000000(0000) GS:ffff88846f800000(0000) knlGS:0000000000000000
          [  +0.000003] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          [  +0.000002] CR2: 00007f2e8c10c880 CR3: 0000000385b66005 CR4: 00000000000606f0
          [  +0.000002] Call Trace:
          [  +0.000001]  <TASK>
          [  +0.000001]  ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211]
          [  +0.000075]  ? __warn+0x81/0x130
          [  +0.000004]  ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211]
          [  +0.000075]  ? report_bug+0x171/0x1a0
          [  +0.000005]  ? handle_bug+0x41/0x70
          [  +0.000003]  ? exc_invalid_op+0x17/0x70
          [  +0.000004]  ? asm_exc_invalid_op+0x1a/0x20
          [  +0.000004]  ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211]
          [  +0.000076]  ieee80211_stop_queue+0x36/0x50 [mac80211]
          [  +0.000077]  b43_dma_tx+0x550/0x780 [b43]
          [  +0.000023]  b43_tx_work+0x90/0x130 [b43]
          [  +0.000018]  process_one_work+0x174/0x340
          [  +0.000003]  worker_thread+0x27b/0x3a0
          [  +0.000004]  ? __pfx_worker_thread+0x10/0x10
          [  +0.000002]  kthread+0xe8/0x120
          [  +0.000003]  ? __pfx_kthread+0x10/0x10
          [  +0.000004]  ret_from_fork+0x34/0x50
          [  +0.000002]  ? __pfx_kthread+0x10/0x10
          [  +0.000003]  ret_from_fork_asm+0x1b/0x30
          [  +0.000006]  </TASK>
          [  +0.000001] ---[ end trace 0000000000000000 ]---
      
      Fixes: e6f5b934 ("b43: Add QOS support")
      Signed-off-by: default avatarRahul Rameshbabu <sergeantsagara@protonmail.com>
      Reviewed-by: default avatarJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231231050300.122806-2-sergeantsagara@protonmail.com
      9636951e
    • Bitterblue Smith's avatar
      wifi: rtl8xxxu: Fix off by one initial RTS rate · 80850ca0
      Bitterblue Smith authored
      rtl8xxxu_set_basic_rates() sets the wrong initial RTS rate. It sets the
      next higher rate than the one it should set, e.g. 36M instead of 24M.
      
      The while loop was supposed to find the index of the most significant
      bit which is 1, but it was copied incorrectly from the vendor driver.
      Use __fls() instead.
      Signed-off-by: default avatarBitterblue Smith <rtl8821cerfe2@gmail.com>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/761e6836-6cd6-4930-91b6-0446834655c5@gmail.com
      80850ca0
    • Bitterblue Smith's avatar
      wifi: rtl8xxxu: Fix LED control code of RTL8192FU · 9475cc7a
      Bitterblue Smith authored
      Some devices, like the Comfast CF-826F, use LED1, which already works.
      Others, like Asus USB-N13 C1, use LED0, which doesn't work correctly.
      
      Write the right values to the LED control registers to make LED0 work
      as well.
      
      This is unfortunately tested only with the Comfast CF-826F.
      Signed-off-by: default avatarBitterblue Smith <rtl8821cerfe2@gmail.com>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/7a2c3158-3a45-4466-b11e-fc09802b20e2@gmail.com
      9475cc7a
    • Martin Kaistra's avatar
      wifi: rtl8xxxu: declare concurrent mode support for 8188f · 1cd165ad
      Martin Kaistra authored
      Everything is in place now for concurrent mode, we can tell the system
      that we support it.
      We will allow a maximum of 2 virtual interfaces, one of them can be in
      AP mode.
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231222101442.626837-22-martin.kaistra@linutronix.de
      1cd165ad
    • Martin Kaistra's avatar
      wifi: rtl8xxxu: make supporting AP mode only on port 0 transparent · 69abad61
      Martin Kaistra authored
      When the driver is used for concurrent mode, both virtual interfaces can
      be set to station or AP mode, though only one can be in AP mode at the
      same time.
      
      In order to keep the code simple, use only hw port 0 for AP mode. When
      an interface is added in AP mode which would be assigned to port 1, use
      a switch_port function to transparently swap the mapping between virtual
      interface and hw port.
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231222101442.626837-21-martin.kaistra@linutronix.de
      69abad61
    • Martin Kaistra's avatar
      wifi: rtl8xxxu: add hw crypto support for AP mode · b837f78f
      Martin Kaistra authored
      Add a custom function for allocating entries in the sec cam. This allows
      us to store multiple keys with the same keyidx.
      
      The maximum number of sec cam entries for 8188f is 16 according to the
      vendor driver. Add the number to rtl8xxxu_fileops, so that other chips
      which might support more entries, can set a different number there.
      
      Set the bssid as mac address for group keys instead of just using the
      ethernet broadcast address and use BIT(6) in the sec cam ctrl entry
      for differentiating them from pairwise keys like in the vendor driver.
      
      Add the TXDESC_EN_DESC_ID bit and the hw_key_idx to tx
      broadcast/multicast packets in AP mode.
      
      Finally, allow the usage of rtl8xxxu_set_key() for AP mode.
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231222101442.626837-20-martin.kaistra@linutronix.de
      b837f78f
    • Martin Kaistra's avatar
      wifi: rtl8xxxu: remove obsolete priv->vif · f232e9d9
      Martin Kaistra authored
      Now that all uses of priv->vif have been converted to priv->vifs[]
      remove the old attribute.
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231222101442.626837-19-martin.kaistra@linutronix.de
      f232e9d9
    • Martin Kaistra's avatar
      wifi: rtl8xxxu: add macids for STA mode · 5ce0d7e8
      Martin Kaistra authored
      Until now, the driver only assigned a dedicated macid for connections
      made in AP mode, in STA mode the return value of rtl8xxxu_get_macid()
      was simply 0.
      To differentiate between port 0 and 1, when both are in STA mode,
      allocate a second macid (with value 1) and set sta_info->macid according
      to the used port_num in rtl8xxxu_sta_add().
      Signed-off-by: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
      Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://msgid.link/20231222101442.626837-18-martin.kaistra@linutronix.de
      5ce0d7e8
    • Martin Kaistra's avatar