r8169: fix jumbo packet handling on RTL8168e
Josef reported [0] that using jumbo packets fails on RTL8168e.
Aligning the values for register MaxTxPacketSize with the
vendor driver fixes the problem.
[0] https://bugzilla.kernel.org/show_bug.cgi?id=211827
Fixes: d58d46b5d8
("r8169: jumbo fixes.")
Reported-by: Josef Oškera <joskera@redhat.com>
Tested-by: Josef Oškera <joskera@redhat.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/b15ddef7-0d50-4320-18f4-6a3f86fbfd3e@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
764d31cacf
Коммит
6cf739131a
|
@ -2285,14 +2285,14 @@ static void r8168dp_hw_jumbo_disable(struct rtl8169_private *tp)
|
|||
|
||||
static void r8168e_hw_jumbo_enable(struct rtl8169_private *tp)
|
||||
{
|
||||
RTL_W8(tp, MaxTxPacketSize, 0x3f);
|
||||
RTL_W8(tp, MaxTxPacketSize, 0x24);
|
||||
RTL_W8(tp, Config3, RTL_R8(tp, Config3) | Jumbo_En0);
|
||||
RTL_W8(tp, Config4, RTL_R8(tp, Config4) | 0x01);
|
||||
}
|
||||
|
||||
static void r8168e_hw_jumbo_disable(struct rtl8169_private *tp)
|
||||
{
|
||||
RTL_W8(tp, MaxTxPacketSize, 0x0c);
|
||||
RTL_W8(tp, MaxTxPacketSize, 0x3f);
|
||||
RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Jumbo_En0);
|
||||
RTL_W8(tp, Config4, RTL_R8(tp, Config4) & ~0x01);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче