If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
v2:
- reduce scope of N2100 change to using the new PCI core quirk
v3:
- improve commit message of patch 2
Heiner Kallweit (3):
PCI: Disable parity checking if broken_parity_status is set
ARM: iop32x: improve N2100 PCI broken parity quirk
r8169: simplify broken parity handling now that PCI core takes care
arch/arm/mach-iop32x/n2100.c | 2 +-
drivers/net/ethernet/realtek/r8169_main.c | 14 --------------
drivers/pci/quirks.c | 17 +++++++++++------
include/linux/pci.h | 2 ++
4 files changed, 14 insertions(+), 21 deletions(-)
--
2.30.0
Meanwhile the PCI core disables parity checking for a device that has
broken_parity_status set. Therefore we don't need the quirk any longer
to disable parity checking on the first parity error interrupt.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/ethernet/realtek/r8169_main.c | 14 --------------
1 file changed, 14 deletions(-)
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
---
drivers/pci/quirks.c | 17 +++++++++++------
include/linux/pci.h | 2 ++
2 files changed, 13 insertions(+), 6 deletions(-)
On Wed, Jan 06, 2021 at 06:50:22PM +0100, Heiner Kallweit wrote:
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This series should all go together. Let me know if you want me to do
anything more (would require acks for arm and r8169, of course).
On Wed, Jan 06, 2021 at 06:50:22PM +0100, Heiner Kallweit wrote:
quoted
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This series should all go together. Let me know if you want me to do
anything more (would require acks for arm and r8169, of course).
Right. For r8169 I'm the maintainer myself and agreed with Jakub that
the r8169 patch will go through the PCI tree.
Regarding the arm/iop32x part:
MAINTAINERS file lists Lennert as maintainer, let me add him.
Strange thing is that the MAINTAINERS entry for arm/iop32x has no
F entry, therefore the get_maintainers scripts will never list him
as addressee. The script lists Russell as "odd fixer".
@Lennert: Please provide a patch to add the missing F entry.
ARM/INTEL IOP32X ARM ARCHITECTURE
M: Lennert Buytenhek [off-list ref]
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
On Wed, Jan 06, 2021 at 06:50:22PM +0100, Heiner Kallweit wrote:
quoted
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This series should all go together. Let me know if you want me to do
anything more (would require acks for arm and r8169, of course).
Right. For r8169 I'm the maintainer myself and agreed with Jakub that
the r8169 patch will go through the PCI tree.
Regarding the arm/iop32x part:
MAINTAINERS file lists Lennert as maintainer, let me add him.
Strange thing is that the MAINTAINERS entry for arm/iop32x has no
F entry, therefore the get_maintainers scripts will never list him
as addressee. The script lists Russell as "odd fixer".
@Lennert: Please provide a patch to add the missing F entry.
ARM/INTEL IOP32X ARM ARCHITECTURE
M: Lennert Buytenhek [off-list ref]
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
Bjorn, I saw that you set the series to "not applicable". Is this because
of the missing ack for the arm part?
I checked and Lennert's last kernel contribution is from 2015. Having said
that the maintainer's entry may be outdated. Not sure who else would be
entitled to ack this patch. The change is simple enough, could you take
it w/o an ack?
Alternatively, IIRC Russell has got such a device. Russell, would it
be possible that you test that there's still no false-positive parity
errors with this series?
On Wed, Jan 13, 2021 at 09:52:23PM +0100, Heiner Kallweit wrote:
On 06.01.2021 20:34, Heiner Kallweit wrote:
quoted
On 06.01.2021 20:22, Bjorn Helgaas wrote:
quoted
On Wed, Jan 06, 2021 at 06:50:22PM +0100, Heiner Kallweit wrote:
quoted
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This series should all go together. Let me know if you want me to do
anything more (would require acks for arm and r8169, of course).
Right. For r8169 I'm the maintainer myself and agreed with Jakub that
the r8169 patch will go through the PCI tree.
Regarding the arm/iop32x part:
MAINTAINERS file lists Lennert as maintainer, let me add him.
Strange thing is that the MAINTAINERS entry for arm/iop32x has no
F entry, therefore the get_maintainers scripts will never list him
as addressee. The script lists Russell as "odd fixer".
@Lennert: Please provide a patch to add the missing F entry.
ARM/INTEL IOP32X ARM ARCHITECTURE
M: Lennert Buytenhek [off-list ref]
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
Bjorn, I saw that you set the series to "not applicable". Is this because
of the missing ack for the arm part?
No, it's because I screwed up. I use "not applicable" when I expect
patches to go via another tree. I just missed your note about merging
via the PCI tree. I'll take a look soon.
I checked and Lennert's last kernel contribution is from 2015. Having said
that the maintainer's entry may be outdated. Not sure who else would be
entitled to ack this patch. The change is simple enough, could you take
it w/o an ack?
Alternatively, IIRC Russell has got such a device. Russell, would it
be possible that you test that there's still no false-positive parity
errors with this series?
On Wed, Jan 13, 2021 at 09:52:23PM +0100, Heiner Kallweit wrote:
On 06.01.2021 20:34, Heiner Kallweit wrote:
quoted
On 06.01.2021 20:22, Bjorn Helgaas wrote:
quoted
On Wed, Jan 06, 2021 at 06:50:22PM +0100, Heiner Kallweit wrote:
quoted
If we know that a device has broken parity checking, then disable it.
This avoids quirks like in r8169 where on the first parity error
interrupt parity checking will be disabled if broken_parity_status
is set. Make pci_quirk_broken_parity() public so that it can be used
by platform code, e.g. for Thecus N2100.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This series should all go together. Let me know if you want me to do
anything more (would require acks for arm and r8169, of course).
Right. For r8169 I'm the maintainer myself and agreed with Jakub that
the r8169 patch will go through the PCI tree.
Regarding the arm/iop32x part:
MAINTAINERS file lists Lennert as maintainer, let me add him.
Strange thing is that the MAINTAINERS entry for arm/iop32x has no
F entry, therefore the get_maintainers scripts will never list him
as addressee. The script lists Russell as "odd fixer".
@Lennert: Please provide a patch to add the missing F entry.
ARM/INTEL IOP32X ARM ARCHITECTURE
M: Lennert Buytenhek [off-list ref]
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
Bjorn, I saw that you set the series to "not applicable". Is this because
of the missing ack for the arm part?
I checked and Lennert's last kernel contribution is from 2015. Having said
that the maintainer's entry may be outdated. Not sure who else would be
entitled to ack this patch. The change is simple enough, could you take
it w/o an ack?
This entry is indeed outdated, I don't have access to this
hardware anymore.
Alternatively, IIRC Russell has got such a device. Russell, would it
be possible that you test that there's still no false-positive parity
errors with this series?