If cable is attached after probe sequence, the usbnet framework would
not automatically start processing RX packets except at least one
packet was transmitted.
On systems with any kind of address auto configuration this issue was
not detected, because some packets are send immediately after link state
is changed to "running".
With this patch we will notify usbnet about link status change provided by the
PHYlib.
Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
Reported-by: Anton Lundin <[email protected]>
Signed-off-by: Oleksij Rempel <[email protected]>
---
drivers/net/usb/asix_common.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
index 632fa6c1d5e3..b4a1b7abcfc9 100644
--- a/drivers/net/usb/asix_common.c
+++ b/drivers/net/usb/asix_common.c
@@ -431,6 +431,7 @@ void asix_adjust_link(struct net_device *netdev)
asix_write_medium_mode(dev, mode, 0);
phy_print_status(phydev);
+ usbnet_link_change(dev, phydev->link, 0);
}
int asix_write_gpio(struct usbnet *dev, u16 value, int sleep, int in_pm)
--
2.30.2
We should respect link partner capabilities and not force flow control
support on every link. Even more, in current state the MAC driver do not
advertises pause support so we should not keep flow control enabled at
all.
Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
Reported-by: Anton Lundin <[email protected]>
Signed-off-by: Oleksij Rempel <[email protected]>
---
drivers/net/usb/asix.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/usb/asix.h b/drivers/net/usb/asix.h
index 2c81236c6c7c..45d3cc5cc355 100644
--- a/drivers/net/usb/asix.h
+++ b/drivers/net/usb/asix.h
@@ -126,8 +126,7 @@
AX_MEDIUM_RE)
#define AX88772_MEDIUM_DEFAULT \
- (AX_MEDIUM_FD | AX_MEDIUM_RFC | \
- AX_MEDIUM_TFC | AX_MEDIUM_PS | \
+ (AX_MEDIUM_FD | AX_MEDIUM_PS | \
AX_MEDIUM_AC | AX_MEDIUM_RE)
/* AX88772 & AX88178 RX_CTL values */
--
2.30.2
On Fri, Jun 24, 2022 at 09:51:39AM +0200, Oleksij Rempel wrote:
> We should respect link partner capabilities and not force flow control
> support on every link. Even more, in current state the MAC driver do not
> advertises pause support so we should not keep flow control enabled at
> all.
>
> Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
> Reported-by: Anton Lundin <[email protected]>
> Signed-off-by: Oleksij Rempel <[email protected]>
In different mail thread Anton reported as tested.
Tested-by: Anton Lundin <[email protected]>
> ---
> drivers/net/usb/asix.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/usb/asix.h b/drivers/net/usb/asix.h
> index 2c81236c6c7c..45d3cc5cc355 100644
> --- a/drivers/net/usb/asix.h
> +++ b/drivers/net/usb/asix.h
> @@ -126,8 +126,7 @@
> AX_MEDIUM_RE)
>
> #define AX88772_MEDIUM_DEFAULT \
> - (AX_MEDIUM_FD | AX_MEDIUM_RFC | \
> - AX_MEDIUM_TFC | AX_MEDIUM_PS | \
> + (AX_MEDIUM_FD | AX_MEDIUM_PS | \
> AX_MEDIUM_AC | AX_MEDIUM_RE)
>
> /* AX88772 & AX88178 RX_CTL values */
> --
> 2.30.2
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On Fri, Jun 24, 2022 at 09:51:38AM +0200, Oleksij Rempel wrote:
> If cable is attached after probe sequence, the usbnet framework would
> not automatically start processing RX packets except at least one
> packet was transmitted.
>
> On systems with any kind of address auto configuration this issue was
> not detected, because some packets are send immediately after link state
> is changed to "running".
>
> With this patch we will notify usbnet about link status change provided by the
> PHYlib.
>
> Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
> Reported-by: Anton Lundin <[email protected]>
> Signed-off-by: Oleksij Rempel <[email protected]>
In different mail thread Anton reported as tested.
Tested-by: Anton Lundin <[email protected]>
> ---
> drivers/net/usb/asix_common.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
> index 632fa6c1d5e3..b4a1b7abcfc9 100644
> --- a/drivers/net/usb/asix_common.c
> +++ b/drivers/net/usb/asix_common.c
> @@ -431,6 +431,7 @@ void asix_adjust_link(struct net_device *netdev)
>
> asix_write_medium_mode(dev, mode, 0);
> phy_print_status(phydev);
> + usbnet_link_change(dev, phydev->link, 0);
> }
>
> int asix_write_gpio(struct usbnet *dev, u16 value, int sleep, int in_pm)
> --
> 2.30.2
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Hello:
This series was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:
On Fri, 24 Jun 2022 09:51:38 +0200 you wrote:
> If cable is attached after probe sequence, the usbnet framework would
> not automatically start processing RX packets except at least one
> packet was transmitted.
>
> On systems with any kind of address auto configuration this issue was
> not detected, because some packets are send immediately after link state
> is changed to "running".
>
> [...]
Here is the summary with links:
- [net,v1,1/2] net: asix: fix "can't send until first packet is send" issue
https://git.kernel.org/netdev/net/c/805206e66fab
- [net,v1,2/2] net: usb: asix: do not force pause frames support
https://git.kernel.org/netdev/net/c/ce95ab775f8d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Hi Oleksij,
subject of this patch looks strange. It should probably read "can't
receive until first packet is sent".
Regards,
Lucas
Am Dienstag, dem 28.06.2022 um 06:49 +0200 schrieb Oleksij Rempel:
> On Fri, Jun 24, 2022 at 09:51:38AM +0200, Oleksij Rempel wrote:
> > If cable is attached after probe sequence, the usbnet framework would
> > not automatically start processing RX packets except at least one
> > packet was transmitted.
> >
> > On systems with any kind of address auto configuration this issue was
> > not detected, because some packets are send immediately after link state
> > is changed to "running".
> >
> > With this patch we will notify usbnet about link status change provided by the
> > PHYlib.
> >
> > Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
> > Reported-by: Anton Lundin <[email protected]>
> > Signed-off-by: Oleksij Rempel <[email protected]>
>
> In different mail thread Anton reported as tested.
> Tested-by: Anton Lundin <[email protected]>
>
> > ---
> > drivers/net/usb/asix_common.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
> > index 632fa6c1d5e3..b4a1b7abcfc9 100644
> > --- a/drivers/net/usb/asix_common.c
> > +++ b/drivers/net/usb/asix_common.c
> > @@ -431,6 +431,7 @@ void asix_adjust_link(struct net_device *netdev)
> >
> > asix_write_medium_mode(dev, mode, 0);
> > phy_print_status(phydev);
> > + usbnet_link_change(dev, phydev->link, 0);
> > }
> >
> > int asix_write_gpio(struct usbnet *dev, u16 value, int sleep, int in_pm)
> > --
> > 2.30.2
> >
> >
>
On Tue, Jun 28, 2022 at 09:50:42AM +0200, Lucas Stach wrote:
> Hi Oleksij,
>
> subject of this patch looks strange. It should probably read "can't
> receive until first packet is sent".
rigth. But it is already taken.
> Regards,
> Lucas
>
> Am Dienstag, dem 28.06.2022 um 06:49 +0200 schrieb Oleksij Rempel:
> > On Fri, Jun 24, 2022 at 09:51:38AM +0200, Oleksij Rempel wrote:
> > > If cable is attached after probe sequence, the usbnet framework would
> > > not automatically start processing RX packets except at least one
> > > packet was transmitted.
> > >
> > > On systems with any kind of address auto configuration this issue was
> > > not detected, because some packets are send immediately after link state
> > > is changed to "running".
> > >
> > > With this patch we will notify usbnet about link status change provided by the
> > > PHYlib.
> > >
> > > Fixes: e532a096be0e ("net: usb: asix: ax88772: add phylib support")
> > > Reported-by: Anton Lundin <[email protected]>
> > > Signed-off-by: Oleksij Rempel <[email protected]>
> >
> > In different mail thread Anton reported as tested.
> > Tested-by: Anton Lundin <[email protected]>
> >
> > > ---
> > > drivers/net/usb/asix_common.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
> > > index 632fa6c1d5e3..b4a1b7abcfc9 100644
> > > --- a/drivers/net/usb/asix_common.c
> > > +++ b/drivers/net/usb/asix_common.c
> > > @@ -431,6 +431,7 @@ void asix_adjust_link(struct net_device *netdev)
> > >
> > > asix_write_medium_mode(dev, mode, 0);
> > > phy_print_status(phydev);
> > > + usbnet_link_change(dev, phydev->link, 0);
> > > }
> > >
> > > int asix_write_gpio(struct usbnet *dev, u16 value, int sleep, int in_pm)
> > > --
> > > 2.30.2
> > >
> > >
> >
>
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |