diff mbox

Is via-velocity broken in 2.6.34?

Message ID 20100907.163331.260082741.davem@davemloft.net
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

David Miller Sept. 7, 2010, 11:33 p.m. UTC
Please always CC: netdev@vger.kernel.org for networking reports.

Give this patch a try:

--------------------
via-velocity: Turn scatter-gather support back off.

It causes all kinds of DMA API debugging assertions and
all straight-forward attempts to fix it have failed.

So turn off SG, and we'll tackle making this work
properly in net-next-2.6

Reported-by: Dave Jones <davej@redhat.com>
Tested-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/via-velocity.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Matt Causey Sept. 8, 2010, 12:13 a.m. UTC | #1
On Tue, Sep 7, 2010 at 4:33 PM, David Miller <davem@davemloft.net> wrote:
>
> Please always CC: netdev@vger.kernel.org for networking reports.
>
> Give this patch a try:
>
> --------------------
> via-velocity: Turn scatter-gather support back off.
>
> It causes all kinds of DMA API debugging assertions and
> all straight-forward attempts to fix it have failed.
>
> So turn off SG, and we'll tackle making this work
> properly in net-next-2.6
>
> Reported-by: Dave Jones <davej@redhat.com>
> Tested-by: Dave Jones <davej@redhat.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> ---
>  drivers/net/via-velocity.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
> index fd69095..f534123 100644
> --- a/drivers/net/via-velocity.c
> +++ b/drivers/net/via-velocity.c
> @@ -2824,7 +2824,7 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
>        netif_napi_add(dev, &vptr->napi, velocity_poll, VELOCITY_NAPI_WEIGHT);
>
>        dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_FILTER |
> -               NETIF_F_HW_VLAN_RX | NETIF_F_IP_CSUM | NETIF_F_SG;
> +               NETIF_F_HW_VLAN_RX | NETIF_F_IP_CSUM;
>
>        ret = register_netdev(dev);
>        if (ret < 0)

So before I posted to the list, I actually dug through looking for
recent changes which would be trivial for me to back out.  This was
the only one I had found, so I tried it.  :-)  No luck though...same
result.

Thanks,

--
Matt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Sept. 8, 2010, 12:24 a.m. UTC | #2
From: Matt Causey <matt.causey@gmail.com>
Date: Tue, 7 Sep 2010 17:13:14 -0700

> So before I posted to the list, I actually dug through looking for
> recent changes which would be trivial for me to back out.  This was
> the only one I had found, so I tried it.  :-)  No luck though...same
> result.

Thanks, please continue reading up on how to bisect this down,
that will help us figure out what the problem is.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Causey Sept. 8, 2010, 3:27 p.m. UTC | #3
On Tue, Sep 7, 2010 at 5:24 PM, David Miller <davem@davemloft.net> wrote:
> From: Matt Causey <matt.causey@gmail.com>
> Date: Tue, 7 Sep 2010 17:13:14 -0700
>
>> So before I posted to the list, I actually dug through looking for
>> recent changes which would be trivial for me to back out.  This was
>> the only one I had found, so I tried it.  :-)  No luck though...same
>> result.
>
> Thanks, please continue reading up on how to bisect this down,
> that will help us figure out what the problem is.
>

Apologies, my troubleshooting was faulty.  In my testing when I was
switching between 2.6.29 / 2.6.34 there was a .config change that I
failed to notice.  In my  2.6.29 config I had all the default
config_pm and acpi options enabled, whereas in the later config I had
them all disabled.

So, the minimum acpi stuff needed for the driver to function is
CONFIG_PM and CONFIG_ACPI.  None of the timer stuff or anything else
appears to be necessary.  If that's the case (others can correct me if
not...) could we patch the Kconfig to look like this:

config VIA_VELOCITY
        tristate "VIA Velocity support"
        depends on PCI && PM && ACPI

since today it's only depending on pci.

If this is the right thing to do I can submit a patch .  Apologies
again for the red herring.  :-)

Cheers,

--
Matt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Sept. 8, 2010, 3:30 p.m. UTC | #4
From: Matt Causey <matt.causey@gmail.com>
Date: Wed, 8 Sep 2010 08:27:19 -0700

> config VIA_VELOCITY
>         tristate "VIA Velocity support"
>         depends on PCI && PM && ACPI
> 
> since today it's only depending on pci.
> 
> If this is the right thing to do I can submit a patch .  Apologies
> again for the red herring.  :-)

Needing ACPI for proper functioning of a moden x86 system
is no surprise, and isn't a VIA specific issue :-)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Sept. 9, 2010, 7:57 p.m. UTC | #5
From: Matt Causey <matt.causey@gmail.com>
Date: Thu, 9 Sep 2010 10:42:21 -0700

> So it wasn't immediately intuitive that we would need power
> management enabled in order to use other parts of the system.

ACPI is not power management.

It's a set of infrastructure (including an interpreter and small
firmware programs to drive specialized hardware) that allows the
important details of your motherboard to be described accurately to
the kernel by firmware authors.

That's why it's called "Advanced Configuration and Power Interface"
and not just "Advanced Power Interface" :-)

It also provides more accurate tables to describe things like
the cpus in your system etc., to replace deprecated mechanisms
for that such as MPS.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Robert Hancock Sept. 11, 2010, 10:53 p.m. UTC | #6
On 09/09/2010 01:57 PM, David Miller wrote:
> From: Matt Causey<matt.causey@gmail.com>
> Date: Thu, 9 Sep 2010 10:42:21 -0700
>
>> So it wasn't immediately intuitive that we would need power
>> management enabled in order to use other parts of the system.
>
> ACPI is not power management.
>
> It's a set of infrastructure (including an interpreter and small
> firmware programs to drive specialized hardware) that allows the
> important details of your motherboard to be described accurately to
> the kernel by firmware authors.
>
> That's why it's called "Advanced Configuration and Power Interface"
> and not just "Advanced Power Interface" :-)
>
> It also provides more accurate tables to describe things like
> the cpus in your system etc., to replace deprecated mechanisms
> for that such as MPS.

I'd think we'd save some trouble if we forced ACPI to on unless EMBEDDED 
was set or something, to indicate you shouldn't turn it off unless you 
really know what you're doing..
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index fd69095..f534123 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -2824,7 +2824,7 @@  static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
 	netif_napi_add(dev, &vptr->napi, velocity_poll, VELOCITY_NAPI_WEIGHT);
 
 	dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_FILTER |
-		NETIF_F_HW_VLAN_RX | NETIF_F_IP_CSUM | NETIF_F_SG;
+		NETIF_F_HW_VLAN_RX | NETIF_F_IP_CSUM;
 
 	ret = register_netdev(dev);
 	if (ret < 0)