diff mbox series

mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)

Message ID 20230605073408.8699-1-fercerpav@gmail.com (mailing list archive)
State Accepted
Commit 421033deb91521aa6a9255e495cb106741a52275
Delegated to: Kalle Valo
Headers show
Series mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC) | expand

Commit Message

Paul Fertser June 5, 2023, 7:34 a.m. UTC
On DBDC devices the first (internal) phy is only capable of using
2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
so avoid the false advertising.

Reported-by: Rani Hod <rani.hod@gmail.com>
Closes: https://github.com/openwrt/openwrt/pull/12361
Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
Cc: stable@vger.kernel.org
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
---
 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Simon Horman June 6, 2023, 9:03 a.m. UTC | #1
On Mon, Jun 05, 2023 at 10:34:07AM +0300, Paul Fertser wrote:
> On DBDC devices the first (internal) phy is only capable of using
> 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> so avoid the false advertising.

Hi Paul,

Can I clarify that the second object won't hit the logic change
below and thus be limited to 2GHz?

> Reported-by: Rani Hod <rani.hod@gmail.com>
> Closes: https://github.com/openwrt/openwrt/pull/12361
> Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
> Cc: stable@vger.kernel.org
> Signed-off-by: Paul Fertser <fercerpav@gmail.com>
> ---
>  drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
> index 68e88224b8b1..ccedea7e8a50 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
> @@ -128,12 +128,12 @@ mt7615_eeprom_parse_hw_band_cap(struct mt7615_dev *dev)
>  	case MT_EE_5GHZ:
>  		dev->mphy.cap.has_5ghz = true;
>  		break;
> -	case MT_EE_2GHZ:
> -		dev->mphy.cap.has_2ghz = true;
> -		break;
>  	case MT_EE_DBDC:
>  		dev->dbdc_support = true;
>  		fallthrough;
> +	case MT_EE_2GHZ:
> +		dev->mphy.cap.has_2ghz = true;
> +		break;
>  	default:
>  		dev->mphy.cap.has_2ghz = true;
>  		dev->mphy.cap.has_5ghz = true;
> -- 
> 2.34.1
> 
>
Paul Fertser June 6, 2023, 9:12 a.m. UTC | #2
Hi Simon,

On Tue, Jun 06, 2023 at 11:03:31AM +0200, Simon Horman wrote:
> On Mon, Jun 05, 2023 at 10:34:07AM +0300, Paul Fertser wrote:
> > On DBDC devices the first (internal) phy is only capable of using
> > 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> > so avoid the false advertising.
> 
> Can I clarify that the second object won't hit the logic change
> below and thus be limited to 2GHz?

The second object (external 5 GHz phy) doesn't have an EEPROM of its
own, and is created explicitly with just this band enabled:

https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c#L104
https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/mediatek/mt76/mt7615/init.c#L573

So it won't hit the logic change and it will be limited to 5 GHz.
Simon Horman June 6, 2023, 9:16 a.m. UTC | #3
On Tue, Jun 06, 2023 at 12:12:51PM +0300, Paul Fertser wrote:
> Hi Simon,
> 
> On Tue, Jun 06, 2023 at 11:03:31AM +0200, Simon Horman wrote:
> > On Mon, Jun 05, 2023 at 10:34:07AM +0300, Paul Fertser wrote:
> > > On DBDC devices the first (internal) phy is only capable of using
> > > 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> > > so avoid the false advertising.
> > 
> > Can I clarify that the second object won't hit the logic change
> > below and thus be limited to 2GHz?
> 
> The second object (external 5 GHz phy) doesn't have an EEPROM of its
> own, and is created explicitly with just this band enabled:
> 
> https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c#L104
> https://elixir.bootlin.com/linux/latest/source/drivers/net/wireless/mediatek/mt76/mt7615/init.c#L573
> 
> So it won't hit the logic change and it will be limited to 5 GHz.

Thanks Paul,

in that case this patch looks good to me.

Reviewed-by: Simon Horman <simon.horman@corigine.com>
Felix Fietkau July 21, 2023, 8:03 a.m. UTC | #4
On 05.06.23 09:34, Paul Fertser wrote:
> On DBDC devices the first (internal) phy is only capable of using
> 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> so avoid the false advertising.
> 
> Reported-by: Rani Hod <rani.hod@gmail.com>
> Closes: https://github.com/openwrt/openwrt/pull/12361
> Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
> Cc: stable@vger.kernel.org
> Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Acked-by: Felix Fietkau <nbd@nbd.name>

Jakub, could you please pick this one up for 6.5?

Thanks,

- Felix
Jakub Kicinski July 21, 2023, 2:37 p.m. UTC | #5
On Fri, 21 Jul 2023 10:03:49 +0200 Felix Fietkau wrote:
> On 05.06.23 09:34, Paul Fertser wrote:
> > On DBDC devices the first (internal) phy is only capable of using
> > 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> > so avoid the false advertising.
> > 
> > Reported-by: Rani Hod <rani.hod@gmail.com>
> > Closes: https://github.com/openwrt/openwrt/pull/12361
> > Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Paul Fertser <fercerpav@gmail.com>  
> Acked-by: Felix Fietkau <nbd@nbd.name>
> 
> Jakub, could you please pick this one up for 6.5?

Kalle reported that he's back to wireless duties a few hours after you
posted so just to avoid any confusion - I'll leave this one to Kalle
unless told otherwise.
Kalle Valo July 22, 2023, 6:23 a.m. UTC | #6
Jakub Kicinski <kuba@kernel.org> writes:

> On Fri, 21 Jul 2023 10:03:49 +0200 Felix Fietkau wrote:
>> On 05.06.23 09:34, Paul Fertser wrote:
>> > On DBDC devices the first (internal) phy is only capable of using
>> > 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
>> > so avoid the false advertising.
>> > 
>> > Reported-by: Rani Hod <rani.hod@gmail.com>
>> > Closes: https://github.com/openwrt/openwrt/pull/12361
>> > Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
>> > Cc: stable@vger.kernel.org
>> > Signed-off-by: Paul Fertser <fercerpav@gmail.com>  
>> Acked-by: Felix Fietkau <nbd@nbd.name>
>> 
>> Jakub, could you please pick this one up for 6.5?
>
> Kalle reported that he's back to wireless duties a few hours after you
> posted so just to avoid any confusion - I'll leave this one to Kalle
> unless told otherwise.

Yup, I'm back. I assigned this to me on patchwork and planning to queue
for v6.5.
Kalle Valo July 24, 2023, 1:37 p.m. UTC | #7
Paul Fertser <fercerpav@gmail.com> wrote:

> On DBDC devices the first (internal) phy is only capable of using
> 2.4 GHz band, and the 5 GHz band is exposed via a separate phy object,
> so avoid the false advertising.
> 
> Reported-by: Rani Hod <rani.hod@gmail.com>
> Closes: https://github.com/openwrt/openwrt/pull/12361
> Fixes: 7660a1bd0c22 ("mt76: mt7615: register ext_phy if DBDC is detected")
> Cc: stable@vger.kernel.org
> Signed-off-by: Paul Fertser <fercerpav@gmail.com>
> Reviewed-by: Simon Horman <simon.horman@corigine.com>
> Acked-by: Felix Fietkau <nbd@nbd.name>

Patch applied to wireless.git, thanks.

421033deb915 wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
index 68e88224b8b1..ccedea7e8a50 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
@@ -128,12 +128,12 @@  mt7615_eeprom_parse_hw_band_cap(struct mt7615_dev *dev)
 	case MT_EE_5GHZ:
 		dev->mphy.cap.has_5ghz = true;
 		break;
-	case MT_EE_2GHZ:
-		dev->mphy.cap.has_2ghz = true;
-		break;
 	case MT_EE_DBDC:
 		dev->dbdc_support = true;
 		fallthrough;
+	case MT_EE_2GHZ:
+		dev->mphy.cap.has_2ghz = true;
+		break;
 	default:
 		dev->mphy.cap.has_2ghz = true;
 		dev->mphy.cap.has_5ghz = true;