lkml.org 
[lkml]   [2011]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [forcedeth bug] Re: [GIT] Networking
    Fri, Aug 05, 2011 at 04:37:33PM CEST, jpirko@redhat.com wrote:
    >Fri, Aug 05, 2011 at 02:31:37PM CEST, jpirko@redhat.com wrote:
    >>Fri, Aug 05, 2011 at 02:18:55PM CEST, mingo@elte.hu wrote:
    >>>
    >>>* Jiri Pirko <jpirko@redhat.com> wrote:
    >>>
    >>>> >> Is DEV_HAS_VLAN set in id->driver_data (L5344) ?
    >>>> >
    >>>> >How do i tell that without hacking the driver?
    >>>>
    >>>> look in dmesg for line like:
    >>>> "forcedeth 0000:00:08.0: highdma csum vlan pwrctl mgmt gbit lnktim msi
    >>>> desc-v3"
    >>>>
    >>>> if "vlan" is there, DEV_HAS_VLAN is set
    >>>
    >>>[ 3.534489] forcedeth 0000:00:0a.0: highdma csum gbit lnktim desc-v3
    >>>
    >>>Note, this is a pretty old system with an old nvidia chipset and
    >>>on-board ethernet:
    >>>
    >>>00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
    >>> Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard
    >>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
    >>> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    >>> Latency: 0 (250ns min, 5000ns max)
    >>> Interrupt: pin A routed to IRQ 11
    >>> Region 0: Memory at da100000 (32-bit, non-prefetchable) [size=4K]
    >>> Region 1: I/O ports at d000 [size=8]
    >>> Capabilities: [44] Power Management version 2
    >>> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
    >>> Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
    >>
    >>Please do lspci -nn
    >>
    >>There are two CK804 chips:
    >>0x10DE, 0x0056
    >>0x10DE, 0x0057
    >>
    >>I have only the second one handy - Getting the machine as we speak.
    >
    >I'm unable to see problems you are referring to on my machine.
    >
    >Would you please try following patch if it fixes your issue? It's
    >in fact returning everything back to the original state (for your card).


    Ingo, any news with this?

    Thanks.

    Jirka

    >
    >diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
    >index e55df30..d7d43d4 100644
    >--- a/drivers/net/forcedeth.c
    >+++ b/drivers/net/forcedeth.c
    >@@ -2763,18 +2763,18 @@ static int nv_rx_process_optimized(struct net_device *dev, int limit)
    > skb->protocol = eth_type_trans(skb, dev);
    > prefetch(skb->data);
    >
    >- vlanflags = le32_to_cpu(np->get_rx.ex->buflow);
    >-
    > /*
    > * There's need to check for NETIF_F_HW_VLAN_RX here.
    > * Even if vlan rx accel is disabled,
    > * NV_RX3_VLAN_TAG_PRESENT is pseudo randomly set.
    > */
    >- if (dev->features & NETIF_F_HW_VLAN_RX &&
    >- vlanflags & NV_RX3_VLAN_TAG_PRESENT) {
    >- u16 vid = vlanflags & NV_RX3_VLAN_TAG_MASK;
    >+ if (dev->features & NETIF_F_HW_VLAN_RX) {
    >+ vlanflags = le32_to_cpu(np->get_rx.ex->buflow);
    >+ if (vlanflags & NV_RX3_VLAN_TAG_PRESENT) {
    >+ u16 vid = vlanflags & NV_RX3_VLAN_TAG_MASK;
    >
    >- __vlan_hwaccel_put_tag(skb, vid);
    >+ __vlan_hwaccel_put_tag(skb, vid);
    >+ }
    > }
    > napi_gro_receive(&np->napi, skb);
    >
    >@@ -5615,7 +5615,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
    > goto out_error;
    > }
    >
    >- nv_vlan_mode(dev, dev->features);
    >+ //nv_vlan_mode(dev, dev->features);
    >
    > netif_carrier_off(dev);
    >


    \
     
     \ /
      Last update: 2011-08-09 15:15    [W:0.031 / U:0.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site