* Re: udp: Add UFO to NETIF_F_SOFTWARE_GSO
From: David Miller @ 2010-06-17 1:08 UTC (permalink / raw)
To: herbert; +Cc: netdev
In-Reply-To: <20100615062104.GA4779@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Tue, 15 Jun 2010 16:21:04 +1000
> udp: Add UFO to NETIF_F_SOFTWARE_GSO
>
> This patch adds UFO to the list of GSO features with a software
> fallback. This allows UFO to be used even if the hardware does
> not support it.
>
> In particular, this allows us to test the UFO fallback, as it
> has been reported to not work in some cases.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Applied to net-next-2.6, thanks.
^ permalink raw reply
* Re: [PATCH 2/2] ehea: Fix kernel deadlock in DLPAR-mem processing
From: David Miller @ 2010-06-17 1:05 UTC (permalink / raw)
To: ossthema; +Cc: netdev, linuxppc-dev, linux-kernel, tklein, adetsch, themann
In-Reply-To: <201006151735.43144.ossthema@de.ibm.com>
From: "Jan-Bernd Themann" <ossthema@de.ibm.com>
Date: Tue, 15 Jun 2010 17:35:42 +0200
> Port reset operations and memory add/remove operations need to
> be serialized to avoid a kernel deadlock. The deadlock is caused
> by calling the napi_disable() function twice.
> Therefore we have to employ the dlpar_mem_lock in the ehea_reset_port
> function as well
>
>
> Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Applied.
^ permalink raw reply
* Re: [PATCH 1/2] ehea: fix delayed packet processing
From: David Miller @ 2010-06-17 1:05 UTC (permalink / raw)
To: fubar
Cc: ossthema, netdev, linuxppc-dev, linux-kernel, tklein, adetsch,
themann
In-Reply-To: <6663.1276620347@death.nxdomain.ibm.com>
From: Jay Vosburgh <fubar@us.ibm.com>
Date: Tue, 15 Jun 2010 09:45:47 -0700
> Jan-Bernd Themann <ossthema@de.ibm.com> wrote:
>
>>In the eHEA poll function an rmb() is required. Without that some packets
>>on the receive queue are not seen and thus delayed until the next interrupt
>>is handled for the same receive queue.
>>
>>Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
>
> To add a bit of background, this could manifest during a netperf
> TCP_RR or UDP_RR on an otherwise idle network. TCP would occasionally
> retransmit, but then both the original segment and the retransmission
> would simultaneously appear at the receiver. For UDP_RR, message sizes
> in excess of the mtu would occasionally "lose" an IP fragment, and
> eventually IP reassembly would time out.
>
> -J
>
> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Applied.
^ permalink raw reply
* Re: [PATCH 04/12] phylib: add a way to make PHY time stamps possible.
From: David Miller @ 2010-06-17 1:03 UTC (permalink / raw)
To: richardcochran
Cc: netdev, linuxppc-dev, devicetree-discuss, khc, linux-arm-kernel
In-Reply-To: <27c0ad283f025c2bb71e7ceb71be07f969939429.1276615626.git.richard.cochran@omicron.at>
From: Richard Cochran <richardcochran@gmail.com>
Date: Tue, 15 Jun 2010 18:08:20 +0200
> +static inline void skb_tx_timetamp(struct phy_device *phy, struct sk_buff *skb)
> +{
> + union skb_shared_tx *shtx = skb_tx(skb);
> +
> + if (shtx->hardware && phy && phy->drv->txtstamp)
> + phy->drv->txtstamp(phy, skb);
> +
> + if (shtx->software && !shtx->in_progress)
> + skb_tstamp_tx(skb, NULL);
> +}
> +
> +static inline void skb_rx_timetamp(struct phy_device *phy, struct sk_buff *skb)
> +{
> + if (phy && phy->drv->rxtstamp)
> + phy->drv->rxtstamp(phy, skb);
> +}
Since, as you say, this can provide a way to deal with the sw TX
timestamping sequencing problem we have right now, I'd rather
you implement this from the inside out instead of from the
outside in.
By this I mean you should provide these inline helpers by default
then we can begin to put them into the drivers.
You could also split the SW tstamp handling into a seperate inline
function, which drivers call immediately once they know they will
actually give the packet to the hardware for sending.
^ permalink raw reply
* Re: [PATCH net-next 0/9] cxgb4 update
From: David Miller @ 2010-06-17 0:48 UTC (permalink / raw)
To: dm; +Cc: netdev
In-Reply-To: <20100616.174527.35032483.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Wed, 16 Jun 2010 17:45:27 -0700 (PDT)
> From: Dimitris Michailidis <dm@chelsio.com>
> Date: Wed, 16 Jun 2010 15:01:07 -0700
>
>>
>> Here's a series of 9 patches for the cxgb4 driver. The changes include
>> support for larger flash memories, addition of EEH, an update to latest
>> fw api, and assorted few liners. All patches are for net-next.
>
> All applied, thanks.
Actually, I'm reverting, this breaks the infiniband driver build:
drivers/infiniband/hw/cxgb4/qp.c: In function 'post_terminate':
drivers/infiniband/hw/cxgb4/qp.c:882:18: error: 'FW_RI_INIT_WR' undeclared (first use in this function)
drivers/infiniband/hw/cxgb4/qp.c:882:18: note: each undeclared identifier is reported only once for each function it appears in
drivers/infiniband/hw/cxgb4/qp.c: In function 'rdma_fini':
drivers/infiniband/hw/cxgb4/qp.c:971:18: error: 'FW_RI_INIT_WR' undeclared (first use in this function)
drivers/infiniband/hw/cxgb4/qp.c: In function 'rdma_init':
drivers/infiniband/hw/cxgb4/qp.c:1045:18: error: 'FW_RI_INIT_WR' undeclared (first use in this function)
make[3]: *** [drivers/infiniband/hw/cxgb4/qp.o] Error 1
^ permalink raw reply
* Re: [PATCH net-next 0/9] cxgb4 update
From: David Miller @ 2010-06-17 0:45 UTC (permalink / raw)
To: dm; +Cc: netdev
In-Reply-To: <1276725676-31514-1-git-send-email-dm@chelsio.com>
From: Dimitris Michailidis <dm@chelsio.com>
Date: Wed, 16 Jun 2010 15:01:07 -0700
>
> Here's a series of 9 patches for the cxgb4 driver. The changes include
> support for larger flash memories, addition of EEH, an update to latest
> fw api, and assorted few liners. All patches are for net-next.
All applied, thanks.
^ permalink raw reply
* [net-next-2.6 PATCH] net: consolidate netif_needs_gso() checks
From: Jeff Kirsher @ 2010-06-17 0:18 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, John Fastabend, Herbert Xu, Jeff Kirsher
From: John Fastabend <john.r.fastabend@intel.com>
netif_needs_gso() is checked twice in the TX path once,
before submitting the skb to the qdisc and once after
it is dequeued from the qdisc just before calling
ndo_hard_start(). This opens a window for a user to
change the gso/tso or tx checksum settings that can
cause netif_needs_gso to be true in one check and false
in the other.
Specifically, changing TX checksum setting may cause
the warning in skb_gso_segment() to be triggered if
the checksum is calculated earlier.
This consolidates the netif_needs_gso() calls so that
the stack only checks if gso is needed in
dev_hard_start_xmit().
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
net/core/dev.c | 68 ++++++++++++++++++++++++++------------------------------
1 files changed, 32 insertions(+), 36 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 5902426..7f390b5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1895,6 +1895,22 @@ static inline void skb_orphan_try(struct sk_buff *skb)
skb_orphan(skb);
}
+/*
+ * Returns true if either:
+ * 1. skb has frag_list and the device doesn't support FRAGLIST, or
+ * 2. skb is fragmented and the device does not support SG, or if
+ * at least one of fragments is in highmem and device does not
+ * support DMA from it.
+ */
+static inline int skb_needs_linearize(struct sk_buff *skb,
+ struct net_device *dev)
+{
+ return skb_is_nonlinear(skb) &&
+ ((skb_has_frags(skb) && !(dev->features & NETIF_F_FRAGLIST)) ||
+ (skb_shinfo(skb)->nr_frags && (!(dev->features & NETIF_F_SG) ||
+ illegal_highdma(dev, skb))));
+}
+
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
struct netdev_queue *txq)
{
@@ -1919,6 +1935,22 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
goto out_kfree_skb;
if (skb->next)
goto gso;
+ } else {
+ if (skb_needs_linearize(skb, dev) &&
+ __skb_linearize(skb))
+ goto out_kfree_skb;
+
+ /* If packet is not checksummed and device does not
+ * support checksumming for this protocol, complete
+ * checksumming here.
+ */
+ if (skb->ip_summed == CHECKSUM_PARTIAL) {
+ skb_set_transport_header(skb, skb->csum_start -
+ skb_headroom(skb));
+ if (!dev_can_checksum(dev, skb) &&
+ skb_checksum_help(skb))
+ goto out_kfree_skb;
+ }
}
rc = ops->ndo_start_xmit(skb, dev);
@@ -2089,22 +2121,6 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
return rc;
}
-/*
- * Returns true if either:
- * 1. skb has frag_list and the device doesn't support FRAGLIST, or
- * 2. skb is fragmented and the device does not support SG, or if
- * at least one of fragments is in highmem and device does not
- * support DMA from it.
- */
-static inline int skb_needs_linearize(struct sk_buff *skb,
- struct net_device *dev)
-{
- return skb_is_nonlinear(skb) &&
- ((skb_has_frags(skb) && !(dev->features & NETIF_F_FRAGLIST)) ||
- (skb_shinfo(skb)->nr_frags && (!(dev->features & NETIF_F_SG) ||
- illegal_highdma(dev, skb))));
-}
-
/**
* dev_queue_xmit - transmit a buffer
* @skb: buffer to transmit
@@ -2137,25 +2153,6 @@ int dev_queue_xmit(struct sk_buff *skb)
struct Qdisc *q;
int rc = -ENOMEM;
- /* GSO will handle the following emulations directly. */
- if (netif_needs_gso(dev, skb))
- goto gso;
-
- /* Convert a paged skb to linear, if required */
- if (skb_needs_linearize(skb, dev) && __skb_linearize(skb))
- goto out_kfree_skb;
-
- /* If packet is not checksummed and device does not support
- * checksumming for this protocol, complete checksumming here.
- */
- if (skb->ip_summed == CHECKSUM_PARTIAL) {
- skb_set_transport_header(skb, skb->csum_start -
- skb_headroom(skb));
- if (!dev_can_checksum(dev, skb) && skb_checksum_help(skb))
- goto out_kfree_skb;
- }
-
-gso:
/* Disable soft irqs for various locks below. Also
* stops preemption for RCU.
*/
@@ -2214,7 +2211,6 @@ gso:
rc = -ENETDOWN;
rcu_read_unlock_bh();
-out_kfree_skb:
kfree_skb(skb);
return rc;
out:
^ permalink raw reply related
* Re: [PATCH net-2.6] ixgbe: fix panic when shutting down system with WoL enabled
From: Jeff Kirsher @ 2010-06-16 23:54 UTC (permalink / raw)
To: Andy Gospodarek; +Cc: netdev
In-Reply-To: <20100616200102.GP7497@gospo.rdu.redhat.com>
On Wed, Jun 16, 2010 at 13:01, Andy Gospodarek <andy@greyhouse.net> wrote:
>
> This patch added to 2.6.34:
>
> commit 5f6c01819979afbfec7e0b15fe52371b8eed87e8
> Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Date: Wed Apr 14 16:04:23 2010 -0700
>
> ixgbe: fix bug with vlan strip in promsic mode
>
> among other things added a function called ixgbe_vlan_filter_enable.
> This new function wants to access and set some rx_ring parameters, but
> adapter->rx_ring has already been freed. This simply moves the free
> until after the access and makes __ixgbe_shutdown look more like
> ixgbe_remove.
>
> Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
> ---
> drivers/net/ixgbe/ixgbe_main.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
> index ce30c62..e237748 100644
> --- a/drivers/net/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ixgbe/ixgbe_main.c
> @@ -5195,7 +5195,6 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
> ixgbe_free_all_tx_resources(adapter);
> ixgbe_free_all_rx_resources(adapter);
> }
> - ixgbe_clear_interrupt_scheme(adapter);
>
> #ifdef CONFIG_PM
> retval = pci_save_state(pdev);
> @@ -5230,6 +5229,8 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
>
> *enable_wake = !!wufc;
>
> + ixgbe_clear_interrupt_scheme(adapter);
> +
> ixgbe_release_hw_control(adapter);
>
> pci_disable_device(pdev);
> --
> 1.6.2.5
>
Thanks Andy, I have added the patch to my queue.
--
Cheers,
Jeff
^ permalink raw reply
* Re: [net-next-2.6 PATCH 6/8] e1000e: enable support for EEE on 82579
From: Ben Hutchings @ 2010-06-16 23:52 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: davem, netdev, gospo, bphilips, Bruce Allan
In-Reply-To: <20100616232747.4834.46491.stgit@localhost.localdomain>
On Wed, 2010-06-16 at 16:27 -0700, Jeff Kirsher wrote:
> From: Bruce Allan <bruce.w.allan@intel.com>
>
> This patch enables IEEE802.3az (a.k.a. Energy Efficient Ethernet) on the
> new 82579 LOMs. An optional module parameter is provided to disable the
> feature if desired.
[...]
IEEE802.3az has not been finalised and I heard that some significant
changes are still required relative to the latest draft. Given that,
any current implementation may not be interoperable with PHYs that
implement the final standard and it doesn't seem like a great idea to
enable it by default.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [PATCH 0/8] Support unix domain sockets across namespaces
From: Eric W. Biederman @ 2010-06-16 23:32 UTC (permalink / raw)
To: David Miller; +Cc: serue, containers, daniel.lezcano, netdev, xemul
In-Reply-To: <20100616.161706.229750834.davem@davemloft.net>
David Miller <davem@davemloft.net> writes:
> From: David Miller <davem@davemloft.net>
> Date: Wed, 16 Jun 2010 15:15:36 -0700 (PDT)
>
>> From: ebiederm@xmission.com (Eric W. Biederman)
>> Date: Sun, 13 Jun 2010 06:25:32 -0700
>>
>>> This patchset takes a addressing all of the issues that crop up with
>>> unix domain sockets when the senders and receivers are in separate
>>> namespaces.
>>>
>>> Without this patchset we can report the wrong pid and uid
>>> values in our unix domain credentials.
>>>
>>> As a finally this patchset removes the now unnecessary restriction
>>> that we only allow unix domain sockets between processes in the
>>> same network namespace.
>>
>> Looks good, all applied to net-next-2.6, thanks Eric.
>
> I had to add a module export of cred_to_ucread to fix the allmodconfig
> build since AF_UNIX makes a reference to it.
Doh! Thank you for catching that.
My apologies for overlooking the allmodconfig case.
Eric
^ permalink raw reply
* [net-next-2.6 PATCH 8/8] e1000e: update driver version number
From: Jeff Kirsher @ 2010-06-16 23:28 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
Also separate out an _EXTRAVERSION similar to the core kernel.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/netdev.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 77747c7..8faf224 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -52,7 +52,9 @@
#include "e1000.h"
-#define DRV_VERSION "1.0.2-k4"
+#define DRV_EXTRAVERSION "-k2"
+
+#define DRV_VERSION "1.2.7" DRV_EXTRAVERSION
char e1000e_driver_name[] = "e1000e";
const char e1000e_driver_version[] = DRV_VERSION;
^ permalink raw reply related
* [net-next-2.6 PATCH 7/8] e1000e: update copyright information
From: Jeff Kirsher @ 2010-06-16 23:28 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/82571.c | 2 +-
drivers/net/e1000e/defines.h | 2 +-
drivers/net/e1000e/e1000.h | 2 +-
drivers/net/e1000e/es2lan.c | 2 +-
drivers/net/e1000e/ethtool.c | 2 +-
drivers/net/e1000e/hw.h | 2 +-
drivers/net/e1000e/ich8lan.c | 2 +-
drivers/net/e1000e/lib.c | 2 +-
drivers/net/e1000e/netdev.c | 4 ++--
drivers/net/e1000e/param.c | 2 +-
drivers/net/e1000e/phy.c | 2 +-
11 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c
index f654db9..a4a0d2b 100644
--- a/drivers/net/e1000e/82571.c
+++ b/drivers/net/e1000e/82571.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/defines.h b/drivers/net/e1000e/defines.h
index 5a6de34..307a72f 100644
--- a/drivers/net/e1000e/defines.h
+++ b/drivers/net/e1000e/defines.h
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index c233496..328b7f4 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/es2lan.c b/drivers/net/e1000e/es2lan.c
index 38d79a6..45aebb4 100644
--- a/drivers/net/e1000e/es2lan.c
+++ b/drivers/net/e1000e/es2lan.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 312c704..db86850 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index eecb2ec..0cd569a 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 5e55de0..c7292a1 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c
index a968e3a..df4a279 100644
--- a/drivers/net/e1000e/lib.c
+++ b/drivers/net/e1000e/lib.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index f296f6f..77747c7 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
@@ -6028,7 +6028,7 @@ static int __init e1000_init_module(void)
int ret;
pr_info("Intel(R) PRO/1000 Network Driver - %s\n",
e1000e_driver_version);
- pr_info("Copyright (c) 1999 - 2009 Intel Corporation.\n");
+ pr_info("Copyright (c) 1999 - 2010 Intel Corporation.\n");
ret = pci_register_driver(&e1000_driver);
return ret;
diff --git a/drivers/net/e1000e/param.c b/drivers/net/e1000e/param.c
index a748460..593251c 100644
--- a/drivers/net/e1000e/param.c
+++ b/drivers/net/e1000e/param.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
diff --git a/drivers/net/e1000e/phy.c b/drivers/net/e1000e/phy.c
index e471357..3d3dc0c 100644
--- a/drivers/net/e1000e/phy.c
+++ b/drivers/net/e1000e/phy.c
@@ -1,7 +1,7 @@
/*******************************************************************************
Intel PRO/1000 Linux driver
- Copyright(c) 1999 - 2009 Intel Corporation.
+ Copyright(c) 1999 - 2010 Intel Corporation.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
^ permalink raw reply related
* [net-next-2.6 PATCH 6/8] e1000e: enable support for EEE on 82579
From: Jeff Kirsher @ 2010-06-16 23:27 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
This patch enables IEEE802.3az (a.k.a. Energy Efficient Ethernet) on the
new 82579 LOMs. An optional module parameter is provided to disable the
feature if desired.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/e1000.h | 1 +
drivers/net/e1000e/hw.h | 1 +
drivers/net/e1000e/ich8lan.c | 41 ++++++++++++++++++++++++++++++++++++++++-
drivers/net/e1000e/param.c | 28 ++++++++++++++++++++++++++++
4 files changed, 70 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index 0e59f15..c233496 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -423,6 +423,7 @@ struct e1000_info {
#define FLAG2_IS_DISCARDING (1 << 2)
#define FLAG2_DISABLE_ASPM_L1 (1 << 3)
#define FLAG2_HAS_PHY_STATS (1 << 4)
+#define FLAG2_HAS_EEE (1 << 5)
#define E1000_RX_DESC_PS(R, i) \
(&(((union e1000_rx_desc_packet_split *)((R).desc))[i]))
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 96116ce..eecb2ec 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -937,6 +937,7 @@ struct e1000_dev_spec_ich8lan {
bool kmrn_lock_loss_workaround_enabled;
struct e1000_shadow_ram shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS];
bool nvm_k1_enabled;
+ bool eee_disable;
};
struct e1000_hw {
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 8274499..5e55de0 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -131,6 +131,10 @@
/* PHY Power Management Control */
#define HV_PM_CTRL PHY_REG(770, 17)
+/* PHY Low Power Idle Control */
+#define I82579_LPI_CTRL PHY_REG(772, 20)
+#define I82579_LPI_CTRL_ENABLE_MASK 0x6000
+
/* Strapping Option Register - RO */
#define E1000_STRAP 0x0000C
#define E1000_STRAP_SMBUS_ADDRESS_MASK 0x00FE0000
@@ -569,6 +573,35 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)
}
/**
+ * e1000_set_eee_pchlan - Enable/disable EEE support
+ * @hw: pointer to the HW structure
+ *
+ * Enable/disable EEE based on setting in dev_spec structure. The bits in
+ * the LPI Control register will remain set only if/when link is up.
+ **/
+static s32 e1000_set_eee_pchlan(struct e1000_hw *hw)
+{
+ s32 ret_val = 0;
+ u16 phy_reg;
+
+ if (hw->phy.type != e1000_phy_82579)
+ goto out;
+
+ ret_val = e1e_rphy(hw, I82579_LPI_CTRL, &phy_reg);
+ if (ret_val)
+ goto out;
+
+ if (hw->dev_spec.ich8lan.eee_disable)
+ phy_reg &= ~I82579_LPI_CTRL_ENABLE_MASK;
+ else
+ phy_reg |= I82579_LPI_CTRL_ENABLE_MASK;
+
+ ret_val = e1e_wphy(hw, I82579_LPI_CTRL, phy_reg);
+out:
+ return ret_val;
+}
+
+/**
* e1000_check_for_copper_link_ich8lan - Check for link (Copper)
* @hw: pointer to the HW structure
*
@@ -625,6 +658,11 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
*/
e1000e_check_downshift(hw);
+ /* Enable/Disable EEE after link up */
+ ret_val = e1000_set_eee_pchlan(hw);
+ if (ret_val)
+ goto out;
+
/*
* If we are forcing speed/duplex, then we simply return since
* we have already determined whether we have link or not.
@@ -3820,7 +3858,8 @@ struct e1000_info e1000_pch2_info = {
| FLAG_HAS_FLASH
| FLAG_HAS_JUMBO_FRAMES
| FLAG_APME_IN_WUC,
- .flags2 = FLAG2_HAS_PHY_STATS,
+ .flags2 = FLAG2_HAS_PHY_STATS
+ | FLAG2_HAS_EEE,
.pba = 18,
.max_hw_frame_size = DEFAULT_JUMBO,
.get_variants = e1000_get_variants_ich8lan,
diff --git a/drivers/net/e1000e/param.c b/drivers/net/e1000e/param.c
index a150e48..a748460 100644
--- a/drivers/net/e1000e/param.c
+++ b/drivers/net/e1000e/param.c
@@ -161,6 +161,15 @@ E1000_PARAM(WriteProtectNVM, "Write-protect NVM [WARNING: disabling this can lea
E1000_PARAM(CrcStripping, "Enable CRC Stripping, disable if your BMC needs " \
"the CRC");
+/*
+ * Enable/disable EEE (a.k.a. IEEE802.3az)
+ *
+ * Valid Range: 0, 1
+ *
+ * Default Value: 1
+ */
+E1000_PARAM(EEE, "Enable/disable on parts that support the feature");
+
struct e1000_option {
enum { enable_option, range_option, list_option } type;
const char *name;
@@ -477,4 +486,23 @@ void __devinit e1000e_check_options(struct e1000_adapter *adapter)
}
}
}
+ { /* EEE for parts supporting the feature */
+ static const struct e1000_option opt = {
+ .type = enable_option,
+ .name = "EEE Support",
+ .err = "defaulting to Enabled",
+ .def = OPTION_ENABLED
+ };
+
+ if (adapter->flags2 & FLAG2_HAS_EEE) {
+ /* Currently only supported on 82579 */
+ if (num_EEE > bd) {
+ unsigned int eee = EEE[bd];
+ e1000_validate_option(&eee, &opt, adapter);
+ hw->dev_spec.ich8lan.eee_disable = !eee;
+ } else {
+ hw->dev_spec.ich8lan.eee_disable = !opt.def;
+ }
+ }
+ }
}
^ permalink raw reply related
* [net-next-2.6 PATCH 5/8] e1000e: initial support for 82579 LOMs
From: Jeff Kirsher @ 2010-06-16 23:27 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/defines.h | 2
drivers/net/e1000e/e1000.h | 4 +
drivers/net/e1000e/ethtool.c | 13 ++
drivers/net/e1000e/hw.h | 12 +-
drivers/net/e1000e/ich8lan.c | 328 ++++++++++++++++++++++++++++++++++++++++--
drivers/net/e1000e/netdev.c | 70 ++++++---
drivers/net/e1000e/phy.c | 3
7 files changed, 386 insertions(+), 46 deletions(-)
diff --git a/drivers/net/e1000e/defines.h b/drivers/net/e1000e/defines.h
index 4dc02c7..5a6de34 100644
--- a/drivers/net/e1000e/defines.h
+++ b/drivers/net/e1000e/defines.h
@@ -359,6 +359,7 @@
#define E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE 0x00000001
#define E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE 0x00000008
#define E1000_EXTCNF_CTRL_SWFLAG 0x00000020
+#define E1000_EXTCNF_CTRL_GATE_PHY_CFG 0x00000080
#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK 0x00FF0000
#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT 16
#define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK 0x0FFF0000
@@ -714,6 +715,7 @@
#define BME1000_E_PHY_ID_R2 0x01410CB1
#define I82577_E_PHY_ID 0x01540050
#define I82578_E_PHY_ID 0x004DD040
+#define I82579_E_PHY_ID 0x01540090
/* M88E1000 Specific Registers */
#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index 79e7c4c..0e59f15 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -164,6 +164,7 @@ enum e1000_boards {
board_ich9lan,
board_ich10lan,
board_pchlan,
+ board_pch2lan,
};
struct e1000_queue_stats {
@@ -477,6 +478,7 @@ extern struct e1000_info e1000_ich8_info;
extern struct e1000_info e1000_ich9_info;
extern struct e1000_info e1000_ich10_info;
extern struct e1000_info e1000_pch_info;
+extern struct e1000_info e1000_pch2_info;
extern struct e1000_info e1000_es2_info;
extern s32 e1000e_read_pba_num(struct e1000_hw *hw, u32 *pba_num);
@@ -495,6 +497,8 @@ extern void e1000e_igp3_phy_powerdown_workaround_ich8lan(struct e1000_hw *hw);
extern void e1000e_gig_downshift_workaround_ich8lan(struct e1000_hw *hw);
extern void e1000e_disable_gig_wol_ich8lan(struct e1000_hw *hw);
extern s32 e1000_configure_k1_ich8lan(struct e1000_hw *hw, bool k1_enable);
+extern s32 e1000_lv_jumbo_workaround_ich8lan(struct e1000_hw *hw, bool enable);
+extern void e1000_copy_rx_addrs_to_phy_ich8lan(struct e1000_hw *hw);
extern s32 e1000e_check_for_copper_link(struct e1000_hw *hw);
extern s32 e1000e_check_for_fiber_link(struct e1000_hw *hw);
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 86c6a26..312c704 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -880,6 +880,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
switch (mac->type) {
case e1000_ich10lan:
case e1000_pchlan:
+ case e1000_pch2lan:
mask |= (1 << 18);
break;
default:
@@ -1321,6 +1322,17 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
/* Workaround: K1 must be disabled for stable 1Gbps operation */
e1000_configure_k1_ich8lan(hw, false);
break;
+ case e1000_phy_82579:
+ /* Disable PHY energy detect power down */
+ e1e_rphy(hw, PHY_REG(0, 21), &phy_reg);
+ e1e_wphy(hw, PHY_REG(0, 21), phy_reg & ~(1 << 3));
+ /* Disable full chip energy detect */
+ e1e_rphy(hw, PHY_REG(776, 18), &phy_reg);
+ e1e_wphy(hw, PHY_REG(776, 18), phy_reg | 1);
+ /* Enable loopback on the PHY */
+#define I82577_PHY_LBK_CTRL 19
+ e1e_wphy(hw, I82577_PHY_LBK_CTRL, 0x8001);
+ break;
default:
break;
}
@@ -1878,6 +1890,7 @@ static int e1000_phys_id(struct net_device *netdev, u32 data)
if ((hw->phy.type == e1000_phy_ife) ||
(hw->mac.type == e1000_pchlan) ||
+ (hw->mac.type == e1000_pch2lan) ||
(hw->mac.type == e1000_82583) ||
(hw->mac.type == e1000_82574)) {
INIT_WORK(&adapter->led_blink_task, e1000e_led_blink_task);
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 5d1220d..96116ce 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -217,7 +217,10 @@ enum e1e_registers {
E1000_SWSM = 0x05B50, /* SW Semaphore */
E1000_FWSM = 0x05B54, /* FW Semaphore */
E1000_SWSM2 = 0x05B58, /* Driver-only SW semaphore */
- E1000_CRC_OFFSET = 0x05F50, /* CRC Offset register */
+ E1000_FFLT_DBG = 0x05F04, /* Debug Register */
+ E1000_PCH_RAICC_BASE = 0x05F50, /* Receive Address Initial CRC */
+#define E1000_PCH_RAICC(_n) (E1000_PCH_RAICC_BASE + ((_n) * 4))
+#define E1000_CRC_OFFSET E1000_PCH_RAICC_BASE
E1000_HICR = 0x08F00, /* Host Interface Control */
};
@@ -303,13 +306,14 @@ enum e1e_registers {
#define E1000_KMRNCTRLSTA_OFFSET 0x001F0000
#define E1000_KMRNCTRLSTA_OFFSET_SHIFT 16
#define E1000_KMRNCTRLSTA_REN 0x00200000
+#define E1000_KMRNCTRLSTA_CTRL_OFFSET 0x1 /* Kumeran Control */
#define E1000_KMRNCTRLSTA_DIAG_OFFSET 0x3 /* Kumeran Diagnostic */
#define E1000_KMRNCTRLSTA_TIMEOUTS 0x4 /* Kumeran Timeouts */
#define E1000_KMRNCTRLSTA_INBAND_PARAM 0x9 /* Kumeran InBand Parameters */
#define E1000_KMRNCTRLSTA_DIAG_NELPBK 0x1000 /* Nearend Loopback mode */
#define E1000_KMRNCTRLSTA_K1_CONFIG 0x7
#define E1000_KMRNCTRLSTA_K1_ENABLE 0x140E
-#define E1000_KMRNCTRLSTA_K1_DISABLE 0x1400
+#define E1000_KMRNCTRLSTA_HD_CTRL 0x0002
#define IFE_PHY_EXTENDED_STATUS_CONTROL 0x10
#define IFE_PHY_SPECIAL_CONTROL 0x11 /* 100BaseTx PHY Special Control */
@@ -387,6 +391,8 @@ enum e1e_registers {
#define E1000_DEV_ID_PCH_M_HV_LC 0x10EB
#define E1000_DEV_ID_PCH_D_HV_DM 0x10EF
#define E1000_DEV_ID_PCH_D_HV_DC 0x10F0
+#define E1000_DEV_ID_PCH2_LV_LM 0x1502
+#define E1000_DEV_ID_PCH2_LV_V 0x1503
#define E1000_REVISION_4 4
@@ -406,6 +412,7 @@ enum e1000_mac_type {
e1000_ich9lan,
e1000_ich10lan,
e1000_pchlan,
+ e1000_pch2lan,
};
enum e1000_media_type {
@@ -442,6 +449,7 @@ enum e1000_phy_type {
e1000_phy_bm,
e1000_phy_82578,
e1000_phy_82577,
+ e1000_phy_82579,
};
enum e1000_bus_width {
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 7e2f98c..8274499 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -52,6 +52,8 @@
* 82577LC Gigabit Network Connection
* 82578DM Gigabit Network Connection
* 82578DC Gigabit Network Connection
+ * 82579LM Gigabit Network Connection
+ * 82579V Gigabit Network Connection
*/
#include "e1000.h"
@@ -126,6 +128,9 @@
#define HV_SMB_ADDR_PEC_EN 0x0200
#define HV_SMB_ADDR_VALID 0x0080
+/* PHY Power Management Control */
+#define HV_PM_CTRL PHY_REG(770, 17)
+
/* Strapping Option Register - RO */
#define E1000_STRAP 0x0000C
#define E1000_STRAP_SMBUS_ADDRESS_MASK 0x00FE0000
@@ -279,13 +284,13 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
phy->ops.power_down = e1000_power_down_phy_copper_ich8lan;
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
+ /*
+ * The MAC-PHY interconnect may still be in SMBus mode
+ * after Sx->S0. If the manageability engine (ME) is
+ * disabled, then toggle the LANPHYPC Value bit to force
+ * the interconnect to PCIe mode.
+ */
if (!(er32(FWSM) & E1000_ICH_FWSM_FW_VALID)) {
- /*
- * The MAC-PHY interconnect may still be in SMBus mode
- * after Sx->S0. Toggle the LANPHYPC Value bit to force
- * the interconnect to PCIe mode, but only if there is no
- * firmware present otherwise firmware will have done it.
- */
ctrl = er32(CTRL);
ctrl |= E1000_CTRL_LANPHYPC_OVERRIDE;
ctrl &= ~E1000_CTRL_LANPHYPC_VALUE;
@@ -326,6 +331,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
switch (phy->type) {
case e1000_phy_82577:
+ case e1000_phy_82579:
phy->ops.check_polarity = e1000_check_polarity_82577;
phy->ops.force_speed_duplex =
e1000_phy_force_speed_duplex_82577;
@@ -530,6 +536,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)
mac->ops.led_off = e1000_led_off_ich8lan;
break;
case e1000_pchlan:
+ case e1000_pch2lan:
/* check management mode */
mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan;
/* ID LED init */
@@ -550,6 +557,14 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)
if (mac->type == e1000_ich8lan)
e1000e_set_kmrn_lock_loss_workaround_ich8lan(hw, true);
+ /* Disable PHY configuration by hardware, config by software */
+ if (mac->type == e1000_pch2lan) {
+ u32 extcnf_ctrl = er32(EXTCNF_CTRL);
+
+ extcnf_ctrl |= E1000_EXTCNF_CTRL_GATE_PHY_CFG;
+ ew32(EXTCNF_CTRL, extcnf_ctrl);
+ }
+
return 0;
}
@@ -653,10 +668,19 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)
if (rc)
return rc;
- if (hw->mac.type == e1000_pchlan)
- rc = e1000_init_phy_params_pchlan(hw);
- else
+ switch (hw->mac.type) {
+ case e1000_ich8lan:
+ case e1000_ich9lan:
+ case e1000_ich10lan:
rc = e1000_init_phy_params_ich8lan(hw);
+ break;
+ case e1000_pchlan:
+ case e1000_pch2lan:
+ rc = e1000_init_phy_params_pchlan(hw);
+ break;
+ default:
+ break;
+ }
if (rc)
return rc;
@@ -861,6 +885,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
}
/* Fall-thru */
case e1000_pchlan:
+ case e1000_pch2lan:
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
break;
default:
@@ -880,8 +905,10 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
* extended configuration before SW configuration
*/
data = er32(EXTCNF_CTRL);
- if (data & E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE)
- goto out;
+ if (!(hw->mac.type == e1000_pch2lan)) {
+ if (data & E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE)
+ goto out;
+ }
cnf_size = er32(EXTCNF_SIZE);
cnf_size &= E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK;
@@ -893,7 +920,8 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
cnf_base_addr >>= E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT;
if (!(data & E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE) &&
- (hw->mac.type == e1000_pchlan)) {
+ ((hw->mac.type == e1000_pchlan) ||
+ (hw->mac.type == e1000_pch2lan))) {
/*
* HW configures the SMBus address and LEDs when the
* OEM and LCD Write Enable bits are set in the NVM.
@@ -1100,16 +1128,18 @@ static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state)
u32 mac_reg;
u16 oem_reg;
- if (hw->mac.type != e1000_pchlan)
+ if ((hw->mac.type != e1000_pch2lan) && (hw->mac.type != e1000_pchlan))
return ret_val;
ret_val = hw->phy.ops.acquire(hw);
if (ret_val)
return ret_val;
- mac_reg = er32(EXTCNF_CTRL);
- if (mac_reg & E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE)
- goto out;
+ if (!(hw->mac.type == e1000_pch2lan)) {
+ mac_reg = er32(EXTCNF_CTRL);
+ if (mac_reg & E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE)
+ goto out;
+ }
mac_reg = er32(FEXTNVM);
if (!(mac_reg & E1000_FEXTNVM_SW_CONFIG_ICH8M))
@@ -1250,6 +1280,243 @@ out:
}
/**
+ * e1000_copy_rx_addrs_to_phy_ich8lan - Copy Rx addresses from MAC to PHY
+ * @hw: pointer to the HW structure
+ **/
+void e1000_copy_rx_addrs_to_phy_ich8lan(struct e1000_hw *hw)
+{
+ u32 mac_reg;
+ u16 i;
+
+ /* Copy both RAL/H (rar_entry_count) and SHRAL/H (+4) to PHY */
+ for (i = 0; i < (hw->mac.rar_entry_count + 4); i++) {
+ mac_reg = er32(RAL(i));
+ e1e_wphy(hw, BM_RAR_L(i), (u16)(mac_reg & 0xFFFF));
+ e1e_wphy(hw, BM_RAR_M(i), (u16)((mac_reg >> 16) & 0xFFFF));
+ mac_reg = er32(RAH(i));
+ e1e_wphy(hw, BM_RAR_H(i), (u16)(mac_reg & 0xFFFF));
+ e1e_wphy(hw, BM_RAR_CTRL(i), (u16)((mac_reg >> 16) & 0x8000));
+ }
+}
+
+static u32 e1000_calc_rx_da_crc(u8 mac[])
+{
+ u32 poly = 0xEDB88320; /* Polynomial for 802.3 CRC calculation */
+ u32 i, j, mask, crc;
+
+ crc = 0xffffffff;
+ for (i = 0; i < 6; i++) {
+ crc = crc ^ mac[i];
+ for (j = 8; j > 0; j--) {
+ mask = (crc & 1) * (-1);
+ crc = (crc >> 1) ^ (poly & mask);
+ }
+ }
+ return ~crc;
+}
+
+/**
+ * e1000_lv_jumbo_workaround_ich8lan - required for jumbo frame operation
+ * with 82579 PHY
+ * @hw: pointer to the HW structure
+ * @enable: flag to enable/disable workaround when enabling/disabling jumbos
+ **/
+s32 e1000_lv_jumbo_workaround_ich8lan(struct e1000_hw *hw, bool enable)
+{
+ s32 ret_val = 0;
+ u16 phy_reg, data;
+ u32 mac_reg;
+ u16 i;
+
+ if (hw->mac.type != e1000_pch2lan)
+ goto out;
+
+ /* disable Rx path while enabling/disabling workaround */
+ e1e_rphy(hw, PHY_REG(769, 20), &phy_reg);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 20), phy_reg | (1 << 14));
+ if (ret_val)
+ goto out;
+
+ if (enable) {
+ /*
+ * Write Rx addresses (rar_entry_count for RAL/H, +4 for
+ * SHRAL/H) and initial CRC values to the MAC
+ */
+ for (i = 0; i < (hw->mac.rar_entry_count + 4); i++) {
+ u8 mac_addr[ETH_ALEN] = {0};
+ u32 addr_high, addr_low;
+
+ addr_high = er32(RAH(i));
+ if (!(addr_high & E1000_RAH_AV))
+ continue;
+ addr_low = er32(RAL(i));
+ mac_addr[0] = (addr_low & 0xFF);
+ mac_addr[1] = ((addr_low >> 8) & 0xFF);
+ mac_addr[2] = ((addr_low >> 16) & 0xFF);
+ mac_addr[3] = ((addr_low >> 24) & 0xFF);
+ mac_addr[4] = (addr_high & 0xFF);
+ mac_addr[5] = ((addr_high >> 8) & 0xFF);
+
+ ew32(PCH_RAICC(i),
+ e1000_calc_rx_da_crc(mac_addr));
+ }
+
+ /* Write Rx addresses to the PHY */
+ e1000_copy_rx_addrs_to_phy_ich8lan(hw);
+
+ /* Enable jumbo frame workaround in the MAC */
+ mac_reg = er32(FFLT_DBG);
+ mac_reg &= ~(1 << 14);
+ mac_reg |= (7 << 15);
+ ew32(FFLT_DBG, mac_reg);
+
+ mac_reg = er32(RCTL);
+ mac_reg |= E1000_RCTL_SECRC;
+ ew32(RCTL, mac_reg);
+
+ ret_val = e1000e_read_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_CTRL_OFFSET,
+ &data);
+ if (ret_val)
+ goto out;
+ ret_val = e1000e_write_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_CTRL_OFFSET,
+ data | (1 << 0));
+ if (ret_val)
+ goto out;
+ ret_val = e1000e_read_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_HD_CTRL,
+ &data);
+ if (ret_val)
+ goto out;
+ data &= ~(0xF << 8);
+ data |= (0xB << 8);
+ ret_val = e1000e_write_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_HD_CTRL,
+ data);
+ if (ret_val)
+ goto out;
+
+ /* Enable jumbo frame workaround in the PHY */
+ e1e_rphy(hw, PHY_REG(769, 20), &data);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 20), data & ~(1 << 14));
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(769, 23), &data);
+ data &= ~(0x7F << 5);
+ data |= (0x37 << 5);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 23), data);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(769, 16), &data);
+ data &= ~(1 << 13);
+ data |= (1 << 12);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 16), data);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(776, 20), &data);
+ data &= ~(0x3FF << 2);
+ data |= (0x1A << 2);
+ ret_val = e1e_wphy(hw, PHY_REG(776, 20), data);
+ if (ret_val)
+ goto out;
+ ret_val = e1e_wphy(hw, PHY_REG(776, 23), 0xFE00);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, HV_PM_CTRL, &data);
+ ret_val = e1e_wphy(hw, HV_PM_CTRL, data | (1 << 10));
+ if (ret_val)
+ goto out;
+ } else {
+ /* Write MAC register values back to h/w defaults */
+ mac_reg = er32(FFLT_DBG);
+ mac_reg &= ~(0xF << 14);
+ ew32(FFLT_DBG, mac_reg);
+
+ mac_reg = er32(RCTL);
+ mac_reg &= ~E1000_RCTL_SECRC;
+ ew32(FFLT_DBG, mac_reg);
+
+ ret_val = e1000e_read_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_CTRL_OFFSET,
+ &data);
+ if (ret_val)
+ goto out;
+ ret_val = e1000e_write_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_CTRL_OFFSET,
+ data & ~(1 << 0));
+ if (ret_val)
+ goto out;
+ ret_val = e1000e_read_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_HD_CTRL,
+ &data);
+ if (ret_val)
+ goto out;
+ data &= ~(0xF << 8);
+ data |= (0xB << 8);
+ ret_val = e1000e_write_kmrn_reg(hw,
+ E1000_KMRNCTRLSTA_HD_CTRL,
+ data);
+ if (ret_val)
+ goto out;
+
+ /* Write PHY register values back to h/w defaults */
+ e1e_rphy(hw, PHY_REG(769, 20), &data);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 20), data & ~(1 << 14));
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(769, 23), &data);
+ data &= ~(0x7F << 5);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 23), data);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(769, 16), &data);
+ data &= ~(1 << 12);
+ data |= (1 << 13);
+ ret_val = e1e_wphy(hw, PHY_REG(769, 16), data);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, PHY_REG(776, 20), &data);
+ data &= ~(0x3FF << 2);
+ data |= (0x8 << 2);
+ ret_val = e1e_wphy(hw, PHY_REG(776, 20), data);
+ if (ret_val)
+ goto out;
+ ret_val = e1e_wphy(hw, PHY_REG(776, 23), 0x7E00);
+ if (ret_val)
+ goto out;
+ e1e_rphy(hw, HV_PM_CTRL, &data);
+ ret_val = e1e_wphy(hw, HV_PM_CTRL, data & ~(1 << 10));
+ if (ret_val)
+ goto out;
+ }
+
+ /* re-enable Rx path after enabling/disabling workaround */
+ ret_val = e1e_wphy(hw, PHY_REG(769, 20), phy_reg & ~(1 << 14));
+
+out:
+ return ret_val;
+}
+
+/**
+ * e1000_lv_phy_workarounds_ich8lan - A series of Phy workarounds to be
+ * done after every PHY reset.
+ **/
+static s32 e1000_lv_phy_workarounds_ich8lan(struct e1000_hw *hw)
+{
+ s32 ret_val = 0;
+
+ if (hw->mac.type != e1000_pch2lan)
+ goto out;
+
+ /* Set MDIO slow mode before any other MDIO access */
+ ret_val = e1000_set_mdio_slow_mode_hv(hw);
+
+out:
+ return ret_val;
+}
+
+/**
* e1000_lan_init_done_ich8lan - Check for PHY config completion
* @hw: pointer to the HW structure
*
@@ -1300,12 +1567,17 @@ static s32 e1000_post_phy_reset_ich8lan(struct e1000_hw *hw)
if (ret_val)
goto out;
break;
+ case e1000_pch2lan:
+ ret_val = e1000_lv_phy_workarounds_ich8lan(hw);
+ if (ret_val)
+ goto out;
+ break;
default:
break;
}
/* Dummy read to clear the phy wakeup bit after lcd reset */
- if (hw->mac.type == e1000_pchlan)
+ if (hw->mac.type >= e1000_pchlan)
e1e_rphy(hw, BM_WUC, ®);
/* Configure the LCD with the extended configuration region in NVM */
@@ -2829,6 +3101,7 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw)
ew32(FCTTV, hw->fc.pause_time);
if ((hw->phy.type == e1000_phy_82578) ||
+ (hw->phy.type == e1000_phy_82579) ||
(hw->phy.type == e1000_phy_82577)) {
ew32(FCRTV_PCH, hw->fc.refresh_time);
@@ -2892,6 +3165,7 @@ static s32 e1000_setup_copper_link_ich8lan(struct e1000_hw *hw)
return ret_val;
break;
case e1000_phy_82577:
+ case e1000_phy_82579:
ret_val = e1000_copper_link_setup_82577(hw);
if (ret_val)
return ret_val;
@@ -3399,6 +3673,7 @@ static void e1000_clear_hw_cntrs_ich8lan(struct e1000_hw *hw)
/* Clear PHY statistics registers */
if ((hw->phy.type == e1000_phy_82578) ||
+ (hw->phy.type == e1000_phy_82579) ||
(hw->phy.type == e1000_phy_82577)) {
hw->phy.ops.read_reg(hw, HV_SCC_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_SCC_LOWER, &phy_data);
@@ -3534,3 +3809,22 @@ struct e1000_info e1000_pch_info = {
.phy_ops = &ich8_phy_ops,
.nvm_ops = &ich8_nvm_ops,
};
+
+struct e1000_info e1000_pch2_info = {
+ .mac = e1000_pch2lan,
+ .flags = FLAG_IS_ICH
+ | FLAG_HAS_WOL
+ | FLAG_RX_CSUM_ENABLED
+ | FLAG_HAS_CTRLEXT_ON_LOAD
+ | FLAG_HAS_AMT
+ | FLAG_HAS_FLASH
+ | FLAG_HAS_JUMBO_FRAMES
+ | FLAG_APME_IN_WUC,
+ .flags2 = FLAG2_HAS_PHY_STATS,
+ .pba = 18,
+ .max_hw_frame_size = DEFAULT_JUMBO,
+ .get_variants = e1000_get_variants_ich8lan,
+ .mac_ops = &ich8_mac_ops,
+ .phy_ops = &ich8_phy_ops,
+ .nvm_ops = &ich8_nvm_ops,
+};
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index b4c431d..f296f6f 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -67,6 +67,7 @@ static const struct e1000_info *e1000_info_tbl[] = {
[board_ich9lan] = &e1000_ich9_info,
[board_ich10lan] = &e1000_ich10_info,
[board_pchlan] = &e1000_pch_info,
+ [board_pch2lan] = &e1000_pch2_info,
};
struct e1000_reg_info {
@@ -2723,6 +2724,16 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)
e1e_wphy(hw, 22, phy_data);
}
+ /* Workaround Si errata on 82579 - configure jumbo frame flow */
+ if (hw->mac.type == e1000_pch2lan) {
+ s32 ret_val;
+
+ if (rctl & E1000_RCTL_LPE)
+ ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, true);
+ else
+ ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, false);
+ }
+
/* Setup buffer sizes */
rctl &= ~E1000_RCTL_SZ_4096;
rctl |= E1000_RCTL_BSEX;
@@ -3118,7 +3129,27 @@ void e1000e_reset(struct e1000_adapter *adapter)
* with ERT support assuming ERT set to E1000_ERT_2048), or
* - the full Rx FIFO size minus one full frame
*/
- if (hw->mac.type == e1000_pchlan) {
+ if (adapter->flags & FLAG_DISABLE_FC_PAUSE_TIME)
+ fc->pause_time = 0xFFFF;
+ else
+ fc->pause_time = E1000_FC_PAUSE_TIME;
+ fc->send_xon = 1;
+ fc->current_mode = fc->requested_mode;
+
+ switch (hw->mac.type) {
+ default:
+ if ((adapter->flags & FLAG_HAS_ERT) &&
+ (adapter->netdev->mtu > ETH_DATA_LEN))
+ hwm = min(((pba << 10) * 9 / 10),
+ ((pba << 10) - (E1000_ERT_2048 << 3)));
+ else
+ hwm = min(((pba << 10) * 9 / 10),
+ ((pba << 10) - adapter->max_frame_size));
+
+ fc->high_water = hwm & E1000_FCRTH_RTH; /* 8-byte granularity */
+ fc->low_water = fc->high_water - 8;
+ break;
+ case e1000_pchlan:
/*
* Workaround PCH LOM adapter hangs with certain network
* loads. If hangs persist, try disabling Tx flow control.
@@ -3131,26 +3162,15 @@ void e1000e_reset(struct e1000_adapter *adapter)
fc->low_water = 0x3000;
}
fc->refresh_time = 0x1000;
- } else {
- if ((adapter->flags & FLAG_HAS_ERT) &&
- (adapter->netdev->mtu > ETH_DATA_LEN))
- hwm = min(((pba << 10) * 9 / 10),
- ((pba << 10) - (E1000_ERT_2048 << 3)));
- else
- hwm = min(((pba << 10) * 9 / 10),
- ((pba << 10) - adapter->max_frame_size));
-
- fc->high_water = hwm & E1000_FCRTH_RTH; /* 8-byte granularity */
- fc->low_water = fc->high_water - 8;
+ break;
+ case e1000_pch2lan:
+ fc->high_water = 0x05C20;
+ fc->low_water = 0x05048;
+ fc->pause_time = 0x0650;
+ fc->refresh_time = 0x0400;
+ break;
}
- if (adapter->flags & FLAG_DISABLE_FC_PAUSE_TIME)
- fc->pause_time = 0xFFFF;
- else
- fc->pause_time = E1000_FC_PAUSE_TIME;
- fc->send_xon = 1;
- fc->current_mode = fc->requested_mode;
-
/* Allow time for pending master requests to run */
mac->ops.reset_hw(hw);
@@ -4918,14 +4938,7 @@ static int e1000_init_phy_wakeup(struct e1000_adapter *adapter, u32 wufc)
int retval = 0;
/* copy MAC RARs to PHY RARs */
- for (i = 0; i < adapter->hw.mac.rar_entry_count; i++) {
- mac_reg = er32(RAL(i));
- e1e_wphy(hw, BM_RAR_L(i), (u16)(mac_reg & 0xFFFF));
- e1e_wphy(hw, BM_RAR_M(i), (u16)((mac_reg >> 16) & 0xFFFF));
- mac_reg = er32(RAH(i));
- e1e_wphy(hw, BM_RAR_H(i), (u16)(mac_reg & 0xFFFF));
- e1e_wphy(hw, BM_RAR_CTRL(i), (u16)((mac_reg >> 16) & 0xFFFF));
- }
+ e1000_copy_rx_addrs_to_phy_ich8lan(hw);
/* copy MAC MTA to PHY MTA */
for (i = 0; i < adapter->hw.mac.mta_reg_count; i++) {
@@ -5976,6 +5989,9 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci_tbl) = {
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DM), board_pchlan },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DC), board_pchlan },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_LM), board_pch2lan },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_V), board_pch2lan },
+
{ } /* terminate list */
};
MODULE_DEVICE_TABLE(pci, e1000_pci_tbl);
diff --git a/drivers/net/e1000e/phy.c b/drivers/net/e1000e/phy.c
index b4ac82d..e471357 100644
--- a/drivers/net/e1000e/phy.c
+++ b/drivers/net/e1000e/phy.c
@@ -2319,6 +2319,9 @@ enum e1000_phy_type e1000e_get_phy_type_from_id(u32 phy_id)
case I82577_E_PHY_ID:
phy_type = e1000_phy_82577;
break;
+ case I82579_E_PHY_ID:
+ phy_type = e1000_phy_82579;
+ break;
default:
phy_type = e1000_phy_unknown;
break;
^ permalink raw reply related
* [net-next-2.6 PATCH 4/8] e1000e: fix check for manageability on ICHx/PCH
From: Jeff Kirsher @ 2010-06-16 23:27 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
Do not check for all the bits in E1000_FWSM_MODE_MASK when checking for
manageability on 82577/82578; only check if iAMT is enabled. Both of the
manageability checks (for 82577/82578 and ICHx) must check the firmware
valid bit too since the other bits are only valid when the latter is set.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/ich8lan.c | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 70cd681..7e2f98c 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -226,6 +226,8 @@ static void e1000_power_down_phy_copper_ich8lan(struct e1000_hw *hw);
static void e1000_lan_init_done_ich8lan(struct e1000_hw *hw);
static s32 e1000_k1_gig_workaround_hv(struct e1000_hw *hw, bool link);
static s32 e1000_set_mdio_slow_mode_hv(struct e1000_hw *hw);
+static bool e1000_check_mng_mode_ich8lan(struct e1000_hw *hw);
+static bool e1000_check_mng_mode_pchlan(struct e1000_hw *hw);
static inline u16 __er16flash(struct e1000_hw *hw, unsigned long reg)
{
@@ -515,6 +517,8 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)
case e1000_ich8lan:
case e1000_ich9lan:
case e1000_ich10lan:
+ /* check management mode */
+ mac->ops.check_mng_mode = e1000_check_mng_mode_ich8lan;
/* ID LED init */
mac->ops.id_led_init = e1000e_id_led_init;
/* setup LED */
@@ -526,6 +530,8 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)
mac->ops.led_off = e1000_led_off_ich8lan;
break;
case e1000_pchlan:
+ /* check management mode */
+ mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan;
/* ID LED init */
mac->ops.id_led_init = e1000_id_led_init_pchlan;
/* setup LED */
@@ -774,7 +780,7 @@ static void e1000_release_swflag_ich8lan(struct e1000_hw *hw)
* e1000_check_mng_mode_ich8lan - Checks management mode
* @hw: pointer to the HW structure
*
- * This checks if the adapter has manageability enabled.
+ * This checks if the adapter has any manageability enabled.
* This is a function pointer entry point only called by read/write
* routines for the PHY and NVM parts.
**/
@@ -783,9 +789,26 @@ static bool e1000_check_mng_mode_ich8lan(struct e1000_hw *hw)
u32 fwsm;
fwsm = er32(FWSM);
+ return (fwsm & E1000_ICH_FWSM_FW_VALID) &&
+ ((fwsm & E1000_FWSM_MODE_MASK) ==
+ (E1000_ICH_MNG_IAMT_MODE << E1000_FWSM_MODE_SHIFT));
+}
- return (fwsm & E1000_FWSM_MODE_MASK) ==
- (E1000_ICH_MNG_IAMT_MODE << E1000_FWSM_MODE_SHIFT);
+/**
+ * e1000_check_mng_mode_pchlan - Checks management mode
+ * @hw: pointer to the HW structure
+ *
+ * This checks if the adapter has iAMT enabled.
+ * This is a function pointer entry point only called by read/write
+ * routines for the PHY and NVM parts.
+ **/
+static bool e1000_check_mng_mode_pchlan(struct e1000_hw *hw)
+{
+ u32 fwsm;
+
+ fwsm = er32(FWSM);
+ return (fwsm & E1000_ICH_FWSM_FW_VALID) &&
+ (fwsm & (E1000_ICH_MNG_IAMT_MODE << E1000_FWSM_MODE_SHIFT));
}
/**
@@ -3396,7 +3419,7 @@ static void e1000_clear_hw_cntrs_ich8lan(struct e1000_hw *hw)
static struct e1000_mac_operations ich8_mac_ops = {
.id_led_init = e1000e_id_led_init,
- .check_mng_mode = e1000_check_mng_mode_ich8lan,
+ /* check_mng_mode dependent on mac type */
.check_for_link = e1000_check_for_copper_link_ich8lan,
/* cleanup_led dependent on mac type */
.clear_hw_cntrs = e1000_clear_hw_cntrs_ich8lan,
^ permalink raw reply related
* [net-next-2.6 PATCH 3/8] e1000e: separate out PHY statistics register updates
From: Jeff Kirsher @ 2010-06-16 23:26 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
The 82577/82578 parts have half-duplex statistics in PHY registers. These
need only be read when in half-duplex and should all be read at once rather
than one at a time to prevent excessive cycles of acquiring/releasing the
PHY semaphore.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/e1000.h | 1
drivers/net/e1000e/ich8lan.c | 1
drivers/net/e1000e/netdev.c | 171 ++++++++++++++++++++++++++++++------------
3 files changed, 126 insertions(+), 47 deletions(-)
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h
index c0b3db4..79e7c4c 100644
--- a/drivers/net/e1000e/e1000.h
+++ b/drivers/net/e1000e/e1000.h
@@ -421,6 +421,7 @@ struct e1000_info {
#define FLAG2_HAS_PHY_WAKEUP (1 << 1)
#define FLAG2_IS_DISCARDING (1 << 2)
#define FLAG2_DISABLE_ASPM_L1 (1 << 3)
+#define FLAG2_HAS_PHY_STATS (1 << 4)
#define E1000_RX_DESC_PS(R, i) \
(&(((union e1000_rx_desc_packet_split *)((R).desc))[i]))
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 5d8fad3..70cd681 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -3503,6 +3503,7 @@ struct e1000_info e1000_pch_info = {
| FLAG_HAS_JUMBO_FRAMES
| FLAG_DISABLE_FC_PAUSE_TIME /* errata */
| FLAG_APME_IN_WUC,
+ .flags2 = FLAG2_HAS_PHY_STATS,
.pba = 26,
.max_hw_frame_size = 4096,
.get_variants = e1000_get_variants_ich8lan,
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 57a7e41..b4c431d 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3672,6 +3672,110 @@ static void e1000_update_phy_info(unsigned long data)
}
/**
+ * e1000e_update_phy_stats - Update the PHY statistics counters
+ * @adapter: board private structure
+ **/
+static void e1000e_update_phy_stats(struct e1000_adapter *adapter)
+{
+ struct e1000_hw *hw = &adapter->hw;
+ s32 ret_val;
+ u16 phy_data;
+
+ ret_val = hw->phy.ops.acquire(hw);
+ if (ret_val)
+ return;
+
+ hw->phy.addr = 1;
+
+#define HV_PHY_STATS_PAGE 778
+ /*
+ * A page set is expensive so check if already on desired page.
+ * If not, set to the page with the PHY status registers.
+ */
+ ret_val = e1000e_read_phy_reg_mdic(hw, IGP01E1000_PHY_PAGE_SELECT,
+ &phy_data);
+ if (ret_val)
+ goto release;
+ if (phy_data != (HV_PHY_STATS_PAGE << IGP_PAGE_SHIFT)) {
+ ret_val = e1000e_write_phy_reg_mdic(hw,
+ IGP01E1000_PHY_PAGE_SELECT,
+ (HV_PHY_STATS_PAGE <<
+ IGP_PAGE_SHIFT));
+ if (ret_val)
+ goto release;
+ }
+
+ /* Read/clear the upper 16-bit registers and read/accumulate lower */
+
+ /* Single Collision Count */
+ e1000e_read_phy_reg_mdic(hw, HV_SCC_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_SCC_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.scc += phy_data;
+
+ /* Excessive Collision Count */
+ e1000e_read_phy_reg_mdic(hw, HV_ECOL_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_ECOL_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.ecol += phy_data;
+
+ /* Multiple Collision Count */
+ e1000e_read_phy_reg_mdic(hw, HV_MCC_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_MCC_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.mcc += phy_data;
+
+ /* Late Collision Count */
+ e1000e_read_phy_reg_mdic(hw, HV_LATECOL_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_LATECOL_LOWER &
+ MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.latecol += phy_data;
+
+ /* Collision Count - also used for adaptive IFS */
+ e1000e_read_phy_reg_mdic(hw, HV_COLC_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_COLC_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ hw->mac.collision_delta = phy_data;
+
+ /* Defer Count */
+ e1000e_read_phy_reg_mdic(hw, HV_DC_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_DC_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.dc += phy_data;
+
+ /* Transmit with no CRS */
+ e1000e_read_phy_reg_mdic(hw, HV_TNCRS_UPPER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ ret_val = e1000e_read_phy_reg_mdic(hw,
+ HV_TNCRS_LOWER & MAX_PHY_REG_ADDRESS,
+ &phy_data);
+ if (!ret_val)
+ adapter->stats.tncrs += phy_data;
+
+release:
+ hw->phy.ops.release(hw);
+}
+
+/**
* e1000e_update_stats - Update the board statistics counters
* @adapter: board private structure
**/
@@ -3680,7 +3784,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
struct net_device *netdev = adapter->netdev;
struct e1000_hw *hw = &adapter->hw;
struct pci_dev *pdev = adapter->pdev;
- u16 phy_data;
/*
* Prevent stats update while adapter is being reset, or if the pci
@@ -3700,34 +3803,27 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
adapter->stats.roc += er32(ROC);
adapter->stats.mpc += er32(MPC);
- if ((hw->phy.type == e1000_phy_82578) ||
- (hw->phy.type == e1000_phy_82577)) {
- e1e_rphy(hw, HV_SCC_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_SCC_LOWER, &phy_data))
- adapter->stats.scc += phy_data;
-
- e1e_rphy(hw, HV_ECOL_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_ECOL_LOWER, &phy_data))
- adapter->stats.ecol += phy_data;
-
- e1e_rphy(hw, HV_MCC_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_MCC_LOWER, &phy_data))
- adapter->stats.mcc += phy_data;
-
- e1e_rphy(hw, HV_LATECOL_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_LATECOL_LOWER, &phy_data))
- adapter->stats.latecol += phy_data;
-
- e1e_rphy(hw, HV_DC_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_DC_LOWER, &phy_data))
- adapter->stats.dc += phy_data;
- } else {
- adapter->stats.scc += er32(SCC);
- adapter->stats.ecol += er32(ECOL);
- adapter->stats.mcc += er32(MCC);
- adapter->stats.latecol += er32(LATECOL);
- adapter->stats.dc += er32(DC);
+
+ /* Half-duplex statistics */
+ if (adapter->link_duplex == HALF_DUPLEX) {
+ if (adapter->flags2 & FLAG2_HAS_PHY_STATS) {
+ e1000e_update_phy_stats(adapter);
+ } else {
+ adapter->stats.scc += er32(SCC);
+ adapter->stats.ecol += er32(ECOL);
+ adapter->stats.mcc += er32(MCC);
+ adapter->stats.latecol += er32(LATECOL);
+ adapter->stats.dc += er32(DC);
+
+ hw->mac.collision_delta = er32(COLC);
+
+ if ((hw->mac.type != e1000_82574) &&
+ (hw->mac.type != e1000_82583))
+ adapter->stats.tncrs += er32(TNCRS);
+ }
+ adapter->stats.colc += hw->mac.collision_delta;
}
+
adapter->stats.xonrxc += er32(XONRXC);
adapter->stats.xontxc += er32(XONTXC);
adapter->stats.xoffrxc += er32(XOFFRXC);
@@ -3745,28 +3841,9 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
hw->mac.tx_packet_delta = er32(TPT);
adapter->stats.tpt += hw->mac.tx_packet_delta;
- if ((hw->phy.type == e1000_phy_82578) ||
- (hw->phy.type == e1000_phy_82577)) {
- e1e_rphy(hw, HV_COLC_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_COLC_LOWER, &phy_data))
- hw->mac.collision_delta = phy_data;
- } else {
- hw->mac.collision_delta = er32(COLC);
- }
- adapter->stats.colc += hw->mac.collision_delta;
adapter->stats.algnerrc += er32(ALGNERRC);
adapter->stats.rxerrc += er32(RXERRC);
- if ((hw->phy.type == e1000_phy_82578) ||
- (hw->phy.type == e1000_phy_82577)) {
- e1e_rphy(hw, HV_TNCRS_UPPER, &phy_data);
- if (!e1e_rphy(hw, HV_TNCRS_LOWER, &phy_data))
- adapter->stats.tncrs += phy_data;
- } else {
- if ((hw->mac.type != e1000_82574) &&
- (hw->mac.type != e1000_82583))
- adapter->stats.tncrs += er32(TNCRS);
- }
adapter->stats.cexterr += er32(CEXTERR);
adapter->stats.tsctc += er32(TSCTC);
adapter->stats.tsctfc += er32(TSCTFC);
^ permalink raw reply related
* [net-next-2.6 PATCH 2/8] e1000e: cleanup e1000_sw_lcd_config_ich8lan()
From: Jeff Kirsher @ 2010-06-16 23:26 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100616232523.4834.84849.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
Do not acquire and release the PHY unnecessarily for parts that return
from this workaround without actually accessing the PHY registers.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/ich8lan.c | 32 +++++++++++++++++++-------------
1 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index b2507d9..5d8fad3 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -820,14 +820,6 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
s32 ret_val = 0;
u16 word_addr, reg_data, reg_addr, phy_page = 0;
- if (!(hw->mac.type == e1000_ich8lan && phy->type == e1000_phy_igp_3) &&
- !(hw->mac.type == e1000_pchlan))
- return ret_val;
-
- ret_val = hw->phy.ops.acquire(hw);
- if (ret_val)
- return ret_val;
-
/*
* Initialize the PHY from the NVM on ICH platforms. This
* is needed due to an issue where the NVM configuration is
@@ -835,12 +827,26 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
* Therefore, after each PHY reset, we will load the
* configuration data out of the NVM manually.
*/
- if ((adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M_AMT) ||
- (adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M) ||
- (hw->mac.type == e1000_pchlan))
+ switch (hw->mac.type) {
+ case e1000_ich8lan:
+ if (phy->type != e1000_phy_igp_3)
+ return ret_val;
+
+ if (adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_AMT) {
+ sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
+ break;
+ }
+ /* Fall-thru */
+ case e1000_pchlan:
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
- else
- sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
+ break;
+ default:
+ return ret_val;
+ }
+
+ ret_val = hw->phy.ops.acquire(hw);
+ if (ret_val)
+ return ret_val;
data = er32(FEXTNVM);
if (!(data & sw_cfg_mask))
^ permalink raw reply related
* [net-next-2.6 PATCH 1/8] e1000e: cleanup ethtool loopback setup code
From: Jeff Kirsher @ 2010-06-16 23:25 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, bphilips, Bruce Allan, Jeff Kirsher
From: Bruce Allan <bruce.w.allan@intel.com>
Refactor the loopback setup code to first handle the only 10/100 PHY
supported by the driver if applicable and then handle the 1Gig PHYs in a
switch statement for PHY-specific setups.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/ethtool.c | 74 ++++++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 2c52121..86c6a26 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -1263,33 +1263,36 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
hw->mac.autoneg = 0;
- /* Workaround: K1 must be disabled for stable 1Gbps operation */
- if (hw->mac.type == e1000_pchlan)
- e1000_configure_k1_ich8lan(hw, false);
-
- if (hw->phy.type == e1000_phy_m88) {
- /* Auto-MDI/MDIX Off */
- e1e_wphy(hw, M88E1000_PHY_SPEC_CTRL, 0x0808);
- /* reset to update Auto-MDI/MDIX */
- e1e_wphy(hw, PHY_CONTROL, 0x9140);
- /* autoneg off */
- e1e_wphy(hw, PHY_CONTROL, 0x8140);
- } else if (hw->phy.type == e1000_phy_gg82563)
- e1e_wphy(hw, GG82563_PHY_KMRN_MODE_CTRL, 0x1CC);
-
- ctrl_reg = er32(CTRL);
-
- switch (hw->phy.type) {
- case e1000_phy_ife:
+ if (hw->phy.type == e1000_phy_ife) {
/* force 100, set loopback */
e1e_wphy(hw, PHY_CONTROL, 0x6100);
/* Now set up the MAC to the same speed/duplex as the PHY. */
+ ctrl_reg = er32(CTRL);
ctrl_reg &= ~E1000_CTRL_SPD_SEL; /* Clear the speed sel bits */
ctrl_reg |= (E1000_CTRL_FRCSPD | /* Set the Force Speed Bit */
E1000_CTRL_FRCDPX | /* Set the Force Duplex Bit */
E1000_CTRL_SPD_100 |/* Force Speed to 100 */
E1000_CTRL_FD); /* Force Duplex to FULL */
+
+ ew32(CTRL, ctrl_reg);
+ udelay(500);
+
+ return 0;
+ }
+
+ /* Specific PHY configuration for loopback */
+ switch (hw->phy.type) {
+ case e1000_phy_m88:
+ /* Auto-MDI/MDIX Off */
+ e1e_wphy(hw, M88E1000_PHY_SPEC_CTRL, 0x0808);
+ /* reset to update Auto-MDI/MDIX */
+ e1e_wphy(hw, PHY_CONTROL, 0x9140);
+ /* autoneg off */
+ e1e_wphy(hw, PHY_CONTROL, 0x8140);
+ break;
+ case e1000_phy_gg82563:
+ e1e_wphy(hw, GG82563_PHY_KMRN_MODE_CTRL, 0x1CC);
break;
case e1000_phy_bm:
/* Set Default MAC Interface speed to 1GB */
@@ -1312,23 +1315,30 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
/* Set Early Link Enable */
e1e_rphy(hw, PHY_REG(769, 20), &phy_reg);
e1e_wphy(hw, PHY_REG(769, 20), phy_reg | 0x0400);
- /* fall through */
+ break;
+ case e1000_phy_82577:
+ case e1000_phy_82578:
+ /* Workaround: K1 must be disabled for stable 1Gbps operation */
+ e1000_configure_k1_ich8lan(hw, false);
+ break;
default:
- /* force 1000, set loopback */
- e1e_wphy(hw, PHY_CONTROL, 0x4140);
- mdelay(250);
+ break;
+ }
- /* Now set up the MAC to the same speed/duplex as the PHY. */
- ctrl_reg = er32(CTRL);
- ctrl_reg &= ~E1000_CTRL_SPD_SEL; /* Clear the speed sel bits */
- ctrl_reg |= (E1000_CTRL_FRCSPD | /* Set the Force Speed Bit */
- E1000_CTRL_FRCDPX | /* Set the Force Duplex Bit */
- E1000_CTRL_SPD_1000 |/* Force Speed to 1000 */
- E1000_CTRL_FD); /* Force Duplex to FULL */
+ /* force 1000, set loopback */
+ e1e_wphy(hw, PHY_CONTROL, 0x4140);
+ mdelay(250);
- if (adapter->flags & FLAG_IS_ICH)
- ctrl_reg |= E1000_CTRL_SLU; /* Set Link Up */
- }
+ /* Now set up the MAC to the same speed/duplex as the PHY. */
+ ctrl_reg = er32(CTRL);
+ ctrl_reg &= ~E1000_CTRL_SPD_SEL; /* Clear the speed sel bits */
+ ctrl_reg |= (E1000_CTRL_FRCSPD | /* Set the Force Speed Bit */
+ E1000_CTRL_FRCDPX | /* Set the Force Duplex Bit */
+ E1000_CTRL_SPD_1000 |/* Force Speed to 1000 */
+ E1000_CTRL_FD); /* Force Duplex to FULL */
+
+ if (adapter->flags & FLAG_IS_ICH)
+ ctrl_reg |= E1000_CTRL_SLU; /* Set Link Up */
if (hw->phy.media_type == e1000_media_type_copper &&
hw->phy.type == e1000_phy_m88) {
^ permalink raw reply related
* Re: [PATCH 0/8] Support unix domain sockets across namespaces
From: David Miller @ 2010-06-16 23:17 UTC (permalink / raw)
To: ebiederm; +Cc: serue, containers, daniel.lezcano, netdev, xemul
In-Reply-To: <20100616.151536.70195214.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Wed, 16 Jun 2010 15:15:36 -0700 (PDT)
> From: ebiederm@xmission.com (Eric W. Biederman)
> Date: Sun, 13 Jun 2010 06:25:32 -0700
>
>> This patchset takes a addressing all of the issues that crop up with
>> unix domain sockets when the senders and receivers are in separate
>> namespaces.
>>
>> Without this patchset we can report the wrong pid and uid
>> values in our unix domain credentials.
>>
>> As a finally this patchset removes the now unnecessary restriction
>> that we only allow unix domain sockets between processes in the
>> same network namespace.
>
> Looks good, all applied to net-next-2.6, thanks Eric.
I had to add a module export of cred_to_ucread to fix the allmodconfig
build since AF_UNIX makes a reference to it.
^ permalink raw reply
* Re: patch "net: deliver skbs on inactive slaves to exact matches" stalls nfs mounts
From: Fred Isaman @ 2010-06-16 23:11 UTC (permalink / raw)
To: John Fastabend; +Cc: netdev@vger.kernel.org, NFS list, David S. Miller
In-Reply-To: <4C1951F1.9010004@intel.com>
On Wed, Jun 16, 2010 at 6:36 PM, John Fastabend
<john.r.fastabend@intel.com> wrote:
> Fred Isaman wrote:
>>
>> I am using vmware fusion 3.1.0 on a macbook pro host with a fedora 12
>> guest running a 2.6.35-rc3 based kernel, Upgrading from rc2 to rc3
>> introduced a long delay when the guest attempts an nfs mount (~120
>> secs). Reverting patch 597a264b1a9c7e36d1728f677c66c5c1f7e3b837
>> "net: deliver skbs on inactive slaves to exact matches" changes back
>> to normal behavior.
>>
>> Fred
>
> This should be fixed here,
OK, thanks.
Fred
>
> From e897082fe7a5b591dc4dd5599ac39081a7c8e482 Mon Sep 17 00:00:00 2001
> From: John Fastabend <john.r.fastabend@intel.com>
> Date: Sun, 13 Jun 2010 10:36:30 +0000
> Subject: [PATCH] net: fix deliver_no_wcard regression on loopback device
>
> deliver_no_wcard is not being set in skb_copy_header.
> In the skb_cloned case it is not being cleared and
> may cause the skb to be dropped when the loopback device
> pushes it back up the stack.
>
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
> Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply
* Re: [0/8] netpoll/bridge fixes
From: Paul E. McKenney @ 2010-06-16 23:02 UTC (permalink / raw)
To: David Miller
Cc: herbert, eric.dumazet, shemminger, mst, frzhang, netdev, amwang,
mpm
In-Reply-To: <20100615.214702.57478137.davem@davemloft.net>
On Tue, Jun 15, 2010 at 09:47:02PM -0700, David Miller wrote:
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Date: Wed, 16 Jun 2010 13:33:36 +1000
>
> > On Wed, Jun 16, 2010 at 05:03:20AM +0200, Eric Dumazet wrote:
> >>
> >> I wonder how these patches were tested, Herbert ?
> >
> > You know, not everyone enables RCU debugging...
>
> Even though I'm as guilty as you, I have to agree with Eric that
> especially us core folks should be running with the various lock
> debugging options on all the time.
>
> Maybe someone should add the RCU debugging config option to
> Documentation/SubmitChecklist :-)
How about the following added to Documentation/RCU/checklist.txt?
The first is in mainline, the second partly there, and the third
is still languishing in my tree. I did manage to remove a dependency
on other maintainers, so things will hopefully move a bit faster.
Thanx, Paul
diff --git a/Documentation/RCU/checklist.txt b/Documentation/RCU/checklist.txt
index 790d1a8..c7c6788 100644
--- a/Documentation/RCU/checklist.txt
+++ b/Documentation/RCU/checklist.txt
@@ -365,3 +365,26 @@ over a rather long period of time, but improvements are always welcome!
and the compiler to freely reorder code into and out of RCU
read-side critical sections. It is the responsibility of the
RCU update-side primitives to deal with this.
+
+17. Use CONFIG_PROVE_RCU, CONFIG_DEBUG_OBJECTS_RCU_HEAD, and
+ the __rcu sparse checks to validate your RCU code. These
+ can help find problems as follows:
+
+ CONFIG_PROVE_RCU: check that accesses to RCU-protected data
+ structures are carried out under the proper RCU
+ read-side critical section, while holding the right
+ combination of locks, or whatever other conditions
+ are appropriate.
+
+ CONFIG_DEBUG_OBJECTS_RCU_HEAD: check that you don't pass the
+ same object to call_rcu() (or friends) before an RCU
+ grace period has elapsed since the last time that you
+ passed that same object to call_rcu() (or friends).
+
+ __rcu sparse checks: tag the pointer to the RCU-protected data
+ structure with __rcu, and sparse will warn you if you
+ access that pointer without the services of one of the
+ variants of rcu_dereference().
+
+ These debugging aids can help you find problems that are
+ otherwise extremely difficult to spot.
^ permalink raw reply related
* Re: pull request: wireless-2.6 2010-06-16 v2
From: Sedat Dilek @ 2010-06-16 22:57 UTC (permalink / raw)
To: John W. Linville; +Cc: David Miller, linux-wireless, netdev, linux-kernel
In-Reply-To: <20100616201300.GD3138@tuxdriver.com>
[-- Attachment #1: Type: text/plain, Size: 17488 bytes --]
Quick feedback:
I have applied latest wireless-2.6 master GIT against 2.6.35-rc3:
wireless-2.6/0001-iwlwifi-serialize-station-management-actions.patch
wireless-2.6/0002-iwlagn-verify-flow-id-in-compressed-BA-packet.patch
wireless-2.6/0003-libertas_tf-Fix-warning-in-lbtf_rx-for-stats-struct.patch
wireless-2.6/0004-p54pci-add-Symbol-AP-300-minipci-adapters-pciid.patch
wireless-2.6/0005-wireless-orphan-ipw2x00-drivers.patch
wireless-2.6/0006-iwlwifi-cancel-scan-watchdog-in-iwl_bg_abort_scan.patch
wireless-2.6/0007-hostap-Protect-against-initialization-interrupt.patch
wireless-2.6/0008-mac80211-fix-warn-enum-may-be-used-uninitialized.patch
Unfortunately, I get here an issue with iwl3945 (full dmesg attached):
[ dmesg ]
[ 26.423844] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
...
[ 26.432470] iwl3945 0000:10:00.0: Can't stop Rx DMA.
Hope this helps.
- Sedat -
On Wed, Jun 16, 2010 at 10:13 PM, John W. Linville
<linville@tuxdriver.com> wrote:
> On Wed, Jun 16, 2010 at 11:50:08AM -0700, David Miller wrote:
>> From: "John W. Linville" <linville@tuxdriver.com>
>> Date: Wed, 16 Jun 2010 14:28:48 -0400
>>
>> > Here is another passel of of fixes intended for 2.6.35. Included are
>> > some build warning fixes, a PCI identifier, a fix for premature
>> > IRQs during hostap initialization, a fix for a warning caused by
>> > failing to cancel a scan watchdog in iwlwifi, a fix for a null
>> > pointer dereference in iwlwifi, and a fix for a race condition in
>> > the same driver. Also included is the MAINTAINERS change for the
>> > orphaning of the older Intel wireless drivers. All but the last few
>> > warning fixes have spent some time in linux-next already.
>> >
>> > Please let me know if there are problems!
>>
>> The patches removing unused function variables just to kill compile
>> warnings are not appropriate, _at_ _all_. They don't fix any real
>> bug, and they definitely don't fix entries in the regression list do
>> they?
>>
>> Kill all of those and resend this pull request.
>
> Fair enough...I dropped the warning fixes for the unused variables.
> But I kept the ones related to uninitialized variables, since
> those seem potentially more dangerous to ignore. Hopefully that
> is acceptable.
>
> Please let me know if there are problems!
>
> John
>
> ---
>
> The following changes since commit fed396a585d8e1870b326f2e8e1888a72957abb8:
> Herbert Xu (1):
> bridge: Fix OOM crash in deliver_clone
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master
>
> Christoph Fritz (1):
> mac80211: fix warn, enum may be used uninitialized
>
> Joerg Albert (1):
> p54pci: add Symbol AP-300 minipci adapters pciid
>
> John W. Linville (1):
> iwlwifi: cancel scan watchdog in iwl_bg_abort_scan
>
> Prarit Bhargava (1):
> libertas_tf: Fix warning in lbtf_rx for stats struct
>
> Reinette Chatre (1):
> iwlwifi: serialize station management actions
>
> Shanyu Zhao (1):
> iwlagn: verify flow id in compressed BA packet
>
> Tim Gardner (1):
> hostap: Protect against initialization interrupt
>
> Zhu Yi (1):
> wireless: orphan ipw2x00 drivers
>
> MAINTAINERS | 10 ++--------
> drivers/net/wireless/hostap/hostap_cs.c | 15 +++++++++++++--
> drivers/net/wireless/hostap/hostap_hw.c | 13 +++++++++++++
> drivers/net/wireless/hostap/hostap_wlan.h | 2 +-
> drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 5 +++++
> drivers/net/wireless/iwlwifi/iwl-agn.c | 8 ++++++--
> drivers/net/wireless/iwlwifi/iwl-scan.c | 1 +
> drivers/net/wireless/iwlwifi/iwl-sta.c | 4 ++++
> drivers/net/wireless/iwlwifi/iwl3945-base.c | 9 +++++++--
> drivers/net/wireless/libertas_tf/main.c | 2 +-
> drivers/net/wireless/p54/p54pci.c | 2 ++
> net/mac80211/work.c | 2 +-
> 12 files changed, 56 insertions(+), 17 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 83be538..837a754 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2966,20 +2966,14 @@ F: drivers/net/ixgb/
> F: drivers/net/ixgbe/
>
> INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
> -M: Reinette Chatre <reinette.chatre@intel.com>
> -M: Intel Linux Wireless <ilw@linux.intel.com>
> L: linux-wireless@vger.kernel.org
> -W: http://ipw2100.sourceforge.net
> -S: Odd Fixes
> +S: Orphan
> F: Documentation/networking/README.ipw2100
> F: drivers/net/wireless/ipw2x00/ipw2100.*
>
> INTEL PRO/WIRELESS 2915ABG NETWORK CONNECTION SUPPORT
> -M: Reinette Chatre <reinette.chatre@intel.com>
> -M: Intel Linux Wireless <ilw@linux.intel.com>
> L: linux-wireless@vger.kernel.org
> -W: http://ipw2200.sourceforge.net
> -S: Odd Fixes
> +S: Orphan
> F: Documentation/networking/README.ipw2200
> F: drivers/net/wireless/ipw2x00/ipw2200.*
>
> diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c
> index db72461..29b31a6 100644
> --- a/drivers/net/wireless/hostap/hostap_cs.c
> +++ b/drivers/net/wireless/hostap/hostap_cs.c
> @@ -594,6 +594,7 @@ static int prism2_config(struct pcmcia_device *link)
> local_info_t *local;
> int ret = 1;
> struct hostap_cs_priv *hw_priv;
> + unsigned long flags;
>
> PDEBUG(DEBUG_FLOW, "prism2_config()\n");
>
> @@ -625,9 +626,15 @@ static int prism2_config(struct pcmcia_device *link)
> local->hw_priv = hw_priv;
> hw_priv->link = link;
>
> + /*
> + * Make sure the IRQ handler cannot proceed until at least
> + * dev->base_addr is initialized.
> + */
> + spin_lock_irqsave(&local->irq_init_lock, flags);
> +
> ret = pcmcia_request_irq(link, prism2_interrupt);
> if (ret)
> - goto failed;
> + goto failed_unlock;
>
> /*
> * This actually configures the PCMCIA socket -- setting up
> @@ -636,11 +643,13 @@ static int prism2_config(struct pcmcia_device *link)
> */
> ret = pcmcia_request_configuration(link, &link->conf);
> if (ret)
> - goto failed;
> + goto failed_unlock;
>
> dev->irq = link->irq;
> dev->base_addr = link->io.BasePort1;
>
> + spin_unlock_irqrestore(&local->irq_init_lock, flags);
> +
> /* Finally, report what we've done */
> printk(KERN_INFO "%s: index 0x%02x: ",
> dev_info, link->conf.ConfigIndex);
> @@ -667,6 +676,8 @@ static int prism2_config(struct pcmcia_device *link)
>
> return ret;
>
> + failed_unlock:
> + spin_unlock_irqrestore(&local->irq_init_lock, flags);
> failed:
> kfree(hw_priv);
> prism2_release((u_long)link);
> diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
> index ff9b5c8..2f999fc 100644
> --- a/drivers/net/wireless/hostap/hostap_hw.c
> +++ b/drivers/net/wireless/hostap/hostap_hw.c
> @@ -2621,6 +2621,18 @@ static irqreturn_t prism2_interrupt(int irq, void *dev_id)
> iface = netdev_priv(dev);
> local = iface->local;
>
> + /* Detect early interrupt before driver is fully configued */
> + spin_lock(&local->irq_init_lock);
> + if (!dev->base_addr) {
> + if (net_ratelimit()) {
> + printk(KERN_DEBUG "%s: Interrupt, but dev not configured\n",
> + dev->name);
> + }
> + spin_unlock(&local->irq_init_lock);
> + return IRQ_HANDLED;
> + }
> + spin_unlock(&local->irq_init_lock);
> +
> prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0);
>
> if (local->func->card_present && !local->func->card_present(local)) {
> @@ -3138,6 +3150,7 @@ prism2_init_local_data(struct prism2_helper_functions *funcs, int card_idx,
> spin_lock_init(&local->cmdlock);
> spin_lock_init(&local->baplock);
> spin_lock_init(&local->lock);
> + spin_lock_init(&local->irq_init_lock);
> mutex_init(&local->rid_bap_mtx);
>
> if (card_idx < 0 || card_idx >= MAX_PARM_DEVICES)
> diff --git a/drivers/net/wireless/hostap/hostap_wlan.h b/drivers/net/wireless/hostap/hostap_wlan.h
> index 3d23891..1ba33be 100644
> --- a/drivers/net/wireless/hostap/hostap_wlan.h
> +++ b/drivers/net/wireless/hostap/hostap_wlan.h
> @@ -654,7 +654,7 @@ struct local_info {
> rwlock_t iface_lock; /* hostap_interfaces read lock; use write lock
> * when removing entries from the list.
> * TX and RX paths can use read lock. */
> - spinlock_t cmdlock, baplock, lock;
> + spinlock_t cmdlock, baplock, lock, irq_init_lock;
> struct mutex rid_bap_mtx;
> u16 infofid; /* MAC buffer id for info frame */
> /* txfid, intransmitfid, next_txtid, and next_alloc are protected by
> diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
> index a732f10..7d614c4 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
> @@ -1299,6 +1299,11 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
> sta_id = ba_resp->sta_id;
> tid = ba_resp->tid;
> agg = &priv->stations[sta_id].tid[tid].agg;
> + if (unlikely(agg->txq_id != scd_flow)) {
> + IWL_ERR(priv, "BA scd_flow %d does not match txq_id %d\n",
> + scd_flow, agg->txq_id);
> + return;
> + }
>
> /* Find index just before block-ack window */
> index = iwl_queue_dec_wrap(ba_resp_scd_ssn & 0xff, txq->q.n_bd);
> diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
> index 7726e67..24aff65 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
> @@ -3391,10 +3391,12 @@ static int iwlagn_mac_sta_add(struct ieee80211_hw *hw,
> int ret;
> u8 sta_id;
>
> - sta_priv->common.sta_id = IWL_INVALID_STATION;
> -
> IWL_DEBUG_INFO(priv, "received request to add station %pM\n",
> sta->addr);
> + mutex_lock(&priv->mutex);
> + IWL_DEBUG_INFO(priv, "proceeding to add station %pM\n",
> + sta->addr);
> + sta_priv->common.sta_id = IWL_INVALID_STATION;
>
> atomic_set(&sta_priv->pending_frames, 0);
> if (vif->type == NL80211_IFTYPE_AP)
> @@ -3406,6 +3408,7 @@ static int iwlagn_mac_sta_add(struct ieee80211_hw *hw,
> IWL_ERR(priv, "Unable to add station %pM (%d)\n",
> sta->addr, ret);
> /* Should we return success if return code is EEXIST ? */
> + mutex_unlock(&priv->mutex);
> return ret;
> }
>
> @@ -3415,6 +3418,7 @@ static int iwlagn_mac_sta_add(struct ieee80211_hw *hw,
> IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM\n",
> sta->addr);
> iwl_rs_rate_init(priv, sta, sta_id);
> + mutex_unlock(&priv->mutex);
>
> return 0;
> }
> diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
> index 5d3f51f..386c5f9 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-scan.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
> @@ -491,6 +491,7 @@ void iwl_bg_abort_scan(struct work_struct *work)
>
> mutex_lock(&priv->mutex);
>
> + cancel_delayed_work_sync(&priv->scan_check);
> set_bit(STATUS_SCAN_ABORTING, &priv->status);
> iwl_send_scan_abort(priv);
>
> diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c
> index 83a2636..c27c13f 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-sta.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c
> @@ -1373,10 +1373,14 @@ int iwl_mac_sta_remove(struct ieee80211_hw *hw,
>
> IWL_DEBUG_INFO(priv, "received request to remove station %pM\n",
> sta->addr);
> + mutex_lock(&priv->mutex);
> + IWL_DEBUG_INFO(priv, "proceeding to remove station %pM\n",
> + sta->addr);
> ret = iwl_remove_station(priv, sta_common->sta_id, sta->addr);
> if (ret)
> IWL_ERR(priv, "Error removing station %pM\n",
> sta->addr);
> + mutex_unlock(&priv->mutex);
> return ret;
> }
> EXPORT_SYMBOL(iwl_mac_sta_remove);
> diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
> index 6c353ca..a27872d 100644
> --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
> +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
> @@ -3437,10 +3437,13 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw,
> bool is_ap = vif->type == NL80211_IFTYPE_STATION;
> u8 sta_id;
>
> - sta_priv->common.sta_id = IWL_INVALID_STATION;
> -
> IWL_DEBUG_INFO(priv, "received request to add station %pM\n",
> sta->addr);
> + mutex_lock(&priv->mutex);
> + IWL_DEBUG_INFO(priv, "proceeding to add station %pM\n",
> + sta->addr);
> + sta_priv->common.sta_id = IWL_INVALID_STATION;
> +
>
> ret = iwl_add_station_common(priv, sta->addr, is_ap, &sta->ht_cap,
> &sta_id);
> @@ -3448,6 +3451,7 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw,
> IWL_ERR(priv, "Unable to add station %pM (%d)\n",
> sta->addr, ret);
> /* Should we return success if return code is EEXIST ? */
> + mutex_unlock(&priv->mutex);
> return ret;
> }
>
> @@ -3457,6 +3461,7 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw,
> IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM\n",
> sta->addr);
> iwl3945_rs_rate_init(priv, sta, sta_id);
> + mutex_unlock(&priv->mutex);
>
> return 0;
> }
> diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wireless/libertas_tf/main.c
> index 6a04c21..817fffc 100644
> --- a/drivers/net/wireless/libertas_tf/main.c
> +++ b/drivers/net/wireless/libertas_tf/main.c
> @@ -549,7 +549,7 @@ int lbtf_rx(struct lbtf_private *priv, struct sk_buff *skb)
>
> prxpd = (struct rxpd *) skb->data;
>
> - stats.flag = 0;
> + memset(&stats, 0, sizeof(stats));
> if (!(prxpd->status & cpu_to_le16(MRVDRV_RXPD_STATUS_OK)))
> stats.flag |= RX_FLAG_FAILED_FCS_CRC;
> stats.freq = priv->cur_freq;
> diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
> index 07c4528..a5ea89c 100644
> --- a/drivers/net/wireless/p54/p54pci.c
> +++ b/drivers/net/wireless/p54/p54pci.c
> @@ -41,6 +41,8 @@ static DEFINE_PCI_DEVICE_TABLE(p54p_table) = {
> { PCI_DEVICE(0x1260, 0x3877) },
> /* Intersil PRISM Javelin/Xbow Wireless LAN adapter */
> { PCI_DEVICE(0x1260, 0x3886) },
> + /* Intersil PRISM Xbow Wireless LAN adapter (Symbol AP-300) */
> + { PCI_DEVICE(0x1260, 0xffff) },
> { },
> };
>
> diff --git a/net/mac80211/work.c b/net/mac80211/work.c
> index be3d4a6..b025dc7 100644
> --- a/net/mac80211/work.c
> +++ b/net/mac80211/work.c
> @@ -715,7 +715,7 @@ static void ieee80211_work_rx_queued_mgmt(struct ieee80211_local *local,
> struct ieee80211_rx_status *rx_status;
> struct ieee80211_mgmt *mgmt;
> struct ieee80211_work *wk;
> - enum work_action rma;
> + enum work_action rma = WORK_ACT_NONE;
> u16 fc;
>
> rx_status = (struct ieee80211_rx_status *) skb->cb;
> --
> John W. Linville Someday the world will need a hero, and you
> linville@tuxdriver.com might be all we have. Be ready.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 62977 bytes --]
0.310984] pci 0000:00:1c.3: PCI bridge to [bus 20-20]
[ 0.310988] pci 0000:00:1c.3: bridge window [io 0x2000-0x3fff]
[ 0.310995] pci 0000:00:1c.3: bridge window [mem 0xdc000000-0xdfffffff]
[ 0.311001] pci 0000:00:1c.3: bridge window [mem 0x84400000-0x845fffff 64bit pref]
[ 0.311011] pci 0000:02:06.0: BAR 15: assigned [mem 0x80000000-0x83ffffff pref]
[ 0.311014] pci 0000:02:06.0: BAR 16: assigned [mem 0x88000000-0x8bffffff]
[ 0.311017] pci 0000:02:06.0: BAR 13: assigned [io 0x8000-0x80ff]
[ 0.311020] pci 0000:02:06.0: BAR 14: assigned [io 0x8400-0x84ff]
[ 0.311022] pci 0000:02:06.0: CardBus bridge to [bus 03-06]
[ 0.311025] pci 0000:02:06.0: bridge window [io 0x8000-0x80ff]
[ 0.311031] pci 0000:02:06.0: bridge window [io 0x8400-0x84ff]
[ 0.311038] pci 0000:02:06.0: bridge window [mem 0x80000000-0x83ffffff pref]
[ 0.311044] pci 0000:02:06.0: bridge window [mem 0x88000000-0x8bffffff]
[ 0.311051] pci 0000:00:1e.0: PCI bridge to [bus 02-03]
[ 0.311054] pci 0000:00:1e.0: bridge window [io 0x8000-0x8fff]
[ 0.311062] pci 0000:00:1e.0: bridge window [mem 0xe0200000-0xe05fffff]
[ 0.311067] pci 0000:00:1e.0: bridge window [mem 0x80000000-0x83ffffff pref]
[ 0.311081] alloc irq_desc for 16 on node -1
[ 0.311083] alloc kstat_irqs on node -1
[ 0.311089] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 0.311093] pci 0000:00:01.0: setting latency timer to 64
[ 0.311103] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 0.311109] pci 0000:00:1c.0: setting latency timer to 64
[ 0.311119] alloc irq_desc for 17 on node -1
[ 0.311121] alloc kstat_irqs on node -1
[ 0.311125] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[ 0.311130] pci 0000:00:1c.1: setting latency timer to 64
[ 0.311141] alloc irq_desc for 19 on node -1
[ 0.311142] alloc kstat_irqs on node -1
[ 0.311146] pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[ 0.311151] pci 0000:00:1c.3: setting latency timer to 64
[ 0.311160] pci 0000:00:1e.0: setting latency timer to 64
[ 0.311173] alloc irq_desc for 18 on node -1
[ 0.311175] alloc kstat_irqs on node -1
[ 0.311179] pci 0000:02:06.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 0.311186] pci_bus 0000:00: resource 0 [io 0x0000-0xffff]
[ 0.311189] pci_bus 0000:00: resource 1 [mem 0x00000000-0xffffffff]
[ 0.311191] pci_bus 0000:01: resource 0 [io 0x4000-0x4fff]
[ 0.311194] pci_bus 0000:01: resource 1 [mem 0xe0600000-0xe06fffff]
[ 0.311196] pci_bus 0000:01: resource 2 [mem 0xd8000000-0xdbffffff 64bit pref]
[ 0.311199] pci_bus 0000:08: resource 0 [io 0x6000-0x6fff]
[ 0.311201] pci_bus 0000:08: resource 1 [mem 0xe0100000-0xe01fffff]
[ 0.311204] pci_bus 0000:08: resource 2 [mem 0x84000000-0x841fffff 64bit pref]
[ 0.311207] pci_bus 0000:10: resource 0 [io 0x7000-0x7fff]
[ 0.311209] pci_bus 0000:10: resource 1 [mem 0xe0000000-0xe00fffff]
[ 0.311212] pci_bus 0000:10: resource 2 [mem 0x84200000-0x843fffff 64bit pref]
[ 0.311214] pci_bus 0000:20: resource 0 [io 0x2000-0x3fff]
[ 0.311217] pci_bus 0000:20: resource 1 [mem 0xdc000000-0xdfffffff]
[ 0.311219] pci_bus 0000:20: resource 2 [mem 0x84400000-0x845fffff 64bit pref]
[ 0.311222] pci_bus 0000:02: resource 0 [io 0x8000-0x8fff]
[ 0.311224] pci_bus 0000:02: resource 1 [mem 0xe0200000-0xe05fffff]
[ 0.311227] pci_bus 0000:02: resource 2 [mem 0x80000000-0x83ffffff pref]
[ 0.311229] pci_bus 0000:02: resource 4 [io 0x0000-0xffff]
[ 0.311232] pci_bus 0000:02: resource 5 [mem 0x00000000-0xffffffff]
[ 0.311234] pci_bus 0000:03: resource 0 [io 0x8000-0x80ff]
[ 0.311237] pci_bus 0000:03: resource 1 [io 0x8400-0x84ff]
[ 0.311239] pci_bus 0000:03: resource 2 [mem 0x80000000-0x83ffffff pref]
[ 0.311242] pci_bus 0000:03: resource 3 [mem 0x88000000-0x8bffffff]
[ 0.311269] NET: Registered protocol family 2
[ 0.311323] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.311560] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.311948] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.312138] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.312140] TCP reno registered
[ 0.312144] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.312152] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.312218] NET: Registered protocol family 1
[ 0.312354] pci 0000:01:00.0: Boot video device
[ 0.312383] PCI: CLS 64 bytes, default 64
[ 0.312427] Unpacking initramfs...
[ 0.597299] Freeing initrd memory: 9644k freed
[ 0.603890] audit: initializing netlink socket (disabled)
[ 0.603908] type=2000 audit(1276735235.602:1): initialized
[ 0.604102] highmem bounce pool size: 64 pages
[ 0.604107] HugeTLB registered 4 MB page size, pre-allocated 0 pages
[ 0.607128] VFS: Disk quotas dquot_6.5.2
[ 0.607223] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.607372] msgmni has been set to 1733
[ 0.607612] alg: No test for stdrng (krng)
[ 0.607731] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[ 0.607734] io scheduler noop registered
[ 0.607737] io scheduler deadline registered
[ 0.607747] io scheduler cfq registered (default)
[ 0.607883] pcieport 0000:00:01.0: setting latency timer to 64
[ 0.607915] alloc irq_desc for 40 on node -1
[ 0.607917] alloc kstat_irqs on node -1
[ 0.607928] pcieport 0000:00:01.0: irq 40 for MSI/MSI-X
[ 0.608063] pcieport 0000:00:1c.0: setting latency timer to 64
[ 0.608111] alloc irq_desc for 41 on node -1
[ 0.608113] alloc kstat_irqs on node -1
[ 0.608122] pcieport 0000:00:1c.0: irq 41 for MSI/MSI-X
[ 0.608317] pcieport 0000:00:1c.1: setting latency timer to 64
[ 0.608365] alloc irq_desc for 42 on node -1
[ 0.608367] alloc kstat_irqs on node -1
[ 0.608376] pcieport 0000:00:1c.1: irq 42 for MSI/MSI-X
[ 0.608573] pcieport 0000:00:1c.3: setting latency timer to 64
[ 0.608621] alloc irq_desc for 43 on node -1
[ 0.608623] alloc kstat_irqs on node -1
[ 0.608632] pcieport 0000:00:1c.3: irq 43 for MSI/MSI-X
[ 0.609282] ERST: Table is not found!
[ 0.609339] EINJ: Table is not found!
[ 0.609348] isapnp: Scanning for PnP cards...
[ 0.966244] isapnp: No Plug & Play device found
[ 0.969952] Linux agpgart interface v0.103
[ 0.970007] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.970299] serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[ 0.970943] Fixed MDIO Bus: probed
[ 0.971079] PNP: PS/2 Controller [PNP0303:C216,PNP0f13:C217] at 0x60,0x64 irq 1,12
[ 0.972763] i8042.c: Detected active multiplexing controller, rev 1.1.
[ 0.973442] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 0.973448] serio: i8042 AUX0 port at 0x60,0x64 irq 12
[ 0.973452] serio: i8042 AUX1 port at 0x60,0x64 irq 12
[ 0.973455] serio: i8042 AUX2 port at 0x60,0x64 irq 12
[ 0.973458] serio: i8042 AUX3 port at 0x60,0x64 irq 12
[ 0.973632] mice: PS/2 mouse device common for all mice
[ 0.973700] cpuidle: using governor ladder
[ 0.973703] cpuidle: using governor menu
[ 0.974020] TCP cubic registered
[ 0.974075] Using IPI No-Shortcut mode
[ 0.974223] registered taskstats version 1
[ 0.974672] Freeing unused kernel memory: 368k freed
[ 0.974887] Write protecting the kernel text: 2208k
[ 0.974911] Write protecting the kernel read-only data: 856k
[ 1.001922] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[ 1.125853] tg3.c:v3.110 (April 9, 2010)
[ 1.125880] tg3 0000:08:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1.125891] tg3 0000:08:00.0: setting latency timer to 64
[ 1.186578] SCSI subsystem initialized
[ 1.199854] usbcore: registered new interface driver usbfs
[ 1.200135] usbcore: registered new interface driver hub
[ 1.218276] usbcore: registered new device driver usb
[ 1.230231] sdhci: Secure Digital Host Controller Interface driver
[ 1.230233] sdhci: Copyright(c) Pierre Ossman
[ 1.231339] sdhci-pci 0000:02:06.3: SDHCI controller found [104c:803c] (rev 0)
[ 1.231363] alloc irq_desc for 22 on node -1
[ 1.231366] alloc kstat_irqs on node -1
[ 1.231374] sdhci-pci 0000:02:06.3: PCI INT C -> GSI 22 (level, low) -> IRQ 22
[ 1.231447] Registered led device: mmc0::
[ 1.231484] mmc0: SDHCI controller on PCI [0000:02:06.3] using PIO
[ 1.232357] tg3 0000:08:00.0: eth0: Tigon3 [partno(BCM95751M) rev 4201] (PCI Express) MAC address 00:16:d4:be:36:66
[ 1.232361] tg3 0000:08:00.0: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
[ 1.232365] tg3 0000:08:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[ 1.232368] tg3 0000:08:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
[ 1.233590] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.233615] alloc irq_desc for 20 on node -1
[ 1.233618] alloc kstat_irqs on node -1
[ 1.233627] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 1.233641] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[ 1.233645] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[ 1.233665] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[ 1.233685] ehci_hcd 0000:00:1d.7: using broken periodic workaround
[ 1.233698] ehci_hcd 0000:00:1d.7: debug port 1
[ 1.235011] libata version 3.00 loaded.
[ 1.237573] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[ 1.237590] ehci_hcd 0000:00:1d.7: irq 20, io mem 0xe0704000
[ 1.240609] thermal LNXTHERM:01: registered as thermal_zone0
[ 1.240619] ACPI: Thermal Zone [TZ0] (80 C)
[ 1.247528] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[ 1.247552] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.247555] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.247558] usb usb1: Product: EHCI Host Controller
[ 1.247560] usb usb1: Manufacturer: Linux 2.6.35-rc3-iniza-686-kms ehci_hcd
[ 1.247562] usb usb1: SerialNumber: 0000:00:1d.7
[ 1.247743] hub 1-0:1.0: USB hub found
[ 1.247748] hub 1-0:1.0: 8 ports detected
[ 1.247877] ata_piix 0000:00:1f.1: version 2.13
[ 1.247889] ata_piix 0000:00:1f.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1.247928] ata_piix 0000:00:1f.1: setting latency timer to 64
[ 1.248153] scsi0 : ata_piix
[ 1.248310] scsi1 : ata_piix
[ 1.251927] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x5080 irq 14
[ 1.251930] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x5088 irq 15
[ 1.251952] ahci 0000:00:1f.2: version 3.0
[ 1.251966] alloc irq_desc for 21 on node -1
[ 1.251969] alloc kstat_irqs on node -1
[ 1.251974] ahci 0000:00:1f.2: PCI INT B -> GSI 21 (level, low) -> IRQ 21
[ 1.252013] alloc irq_desc for 44 on node -1
[ 1.252015] alloc kstat_irqs on node -1
[ 1.252025] ahci 0000:00:1f.2: irq 44 for MSI/MSI-X
[ 1.252077] ahci: SSS flag set, parallel bus scan disabled
[ 1.252105] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 1.5 Gbps 0x1 impl SATA mode
[ 1.252109] ahci 0000:00:1f.2: flags: 64bit ncq ilck stag pm led clo pmp pio slum part
[ 1.252114] ahci 0000:00:1f.2: setting latency timer to 64
[ 1.255010] scsi2 : ahci
[ 1.255120] scsi3 : ahci
[ 1.255225] scsi4 : ahci
[ 1.255339] scsi5 : ahci
[ 1.255612] ata2: port disabled. ignoring.
[ 1.256744] thermal LNXTHERM:02: registered as thermal_zone1
[ 1.256754] ACPI: Thermal Zone [TZ1] (86 C)
[ 1.267478] ata3: SATA max UDMA/133 abar m1024@0xe0705000 port 0xe0705100 irq 44
[ 1.267481] ata4: DUMMY
[ 1.267483] ata5: DUMMY
[ 1.267484] ata6: DUMMY
[ 1.273242] thermal LNXTHERM:03: registered as thermal_zone2
[ 1.273257] ACPI: Thermal Zone [TZ2] (85 C)
[ 1.287800] thermal LNXTHERM:04: registered as thermal_zone3
[ 1.287810] ACPI: Thermal Zone [TZ3] (65 C)
[ 1.299119] uhci_hcd: USB Universal Host Controller Interface driver
[ 1.299151] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 1.299159] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[ 1.299163] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[ 1.299174] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 1.299204] uhci_hcd 0000:00:1d.0: irq 20, io base 0x00005000
[ 1.299242] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.299245] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.299247] usb usb2: Product: UHCI Host Controller
[ 1.299250] usb usb2: Manufacturer: Linux 2.6.35-rc3-iniza-686-kms uhci_hcd
[ 1.299257] usb usb2: SerialNumber: 0000:00:1d.0
[ 1.299260] thermal LNXTHERM:05: registered as thermal_zone4
[ 1.299270] ACPI: Thermal Zone [TZ4] (35 C)
[ 1.299390] hub 2-0:1.0: USB hub found
[ 1.299395] hub 2-0:1.0: 2 ports detected
[ 1.299490] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 22 (level, low) -> IRQ 22
[ 1.299497] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[ 1.299501] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[ 1.299509] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[ 1.299538] uhci_hcd 0000:00:1d.1: irq 22, io base 0x00005020
[ 1.299572] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.299575] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.299577] usb usb3: Product: UHCI Host Controller
[ 1.299579] usb usb3: Manufacturer: Linux 2.6.35-rc3-iniza-686-kms uhci_hcd
[ 1.299582] usb usb3: SerialNumber: 0000:00:1d.1
[ 1.299655] hub 3-0:1.0: USB hub found
[ 1.299659] hub 3-0:1.0: 2 ports detected
[ 1.299740] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[ 1.299747] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[ 1.299750] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[ 1.299758] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[ 1.299797] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00005040
[ 1.299830] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.299833] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.299835] usb usb4: Product: UHCI Host Controller
[ 1.299838] usb usb4: Manufacturer: Linux 2.6.35-rc3-iniza-686-kms uhci_hcd
[ 1.299840] usb usb4: SerialNumber: 0000:00:1d.2
[ 1.299913] hub 4-0:1.0: USB hub found
[ 1.299917] hub 4-0:1.0: 2 ports detected
[ 1.299998] uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[ 1.300005] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[ 1.300009] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[ 1.300017] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
[ 1.300056] uhci_hcd 0000:00:1d.3: irq 19, io base 0x00005060
[ 1.300092] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.300095] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.300097] usb usb5: Product: UHCI Host Controller
[ 1.300099] usb usb5: Manufacturer: Linux 2.6.35-rc3-iniza-686-kms uhci_hcd
[ 1.300102] usb usb5: SerialNumber: 0000:00:1d.3
[ 1.300175] hub 5-0:1.0: USB hub found
[ 1.300179] hub 5-0:1.0: 2 ports detected
[ 1.302559] thermal LNXTHERM:06: registered as thermal_zone5
[ 1.302571] ACPI: Thermal Zone [TZ5] (77 C)
[ 1.409523] ata1.00: ATAPI: MATSHITADVD-RAM UJ-842S, 1.01, max MWDMA2
[ 1.415427] ata1.00: configured for MWDMA2
[ 1.417671] scsi 0:0:0:0: CD-ROM MATSHITA DVD-RAM UJ-842S 1.01 PQ: 0 ANSI: 5
[ 1.804012] usb 1-5: new high speed USB device using ehci_hcd and address 5
[ 1.931016] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1.933478] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[ 1.933483] ata3.00: ACPI cmd b1/c1:00:00:00:00:a0 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 1.933636] ata3.00: ACPI cmd c6/00:10:00:00:00:a0 (SET MULTIPLE MODE) succeeded
[ 1.933640] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[ 1.934358] ata3.00: ATA-7: Hitachi HTS541680J9SA00, SB2OC7BP, max UDMA/100
[ 1.934361] ata3.00: 156301488 sectors, multi 16: LBA48
[ 1.934924] usb 1-5: New USB device found, idVendor=152d, idProduct=2329
[ 1.934928] usb 1-5: New USB device strings: Mfr=10, Product=11, SerialNumber=3
[ 1.934930] usb 1-5: Product: Storagebird 35EV821
[ 1.934932] usb 1-5: Manufacturer: 0123456
[ 1.934934] usb 1-5: SerialNumber: 000000000340
[ 1.937009] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[ 1.937013] ata3.00: ACPI cmd b1/c1:00:00:00:00:a0 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 1.937229] ata3.00: ACPI cmd c6/00:10:00:00:00:a0 (SET MULTIPLE MODE) succeeded
[ 1.937233] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[ 1.937982] ata3.00: configured for UDMA/100
[ 1.943184] Initializing USB Mass Storage driver...
[ 1.943264] scsi6 : usb-storage 1-5:1.0
[ 1.943333] usbcore: registered new interface driver usb-storage
[ 1.943335] USB Mass Storage support registered.
[ 1.949943] ata3.00: configured for UDMA/100
[ 1.949946] ata3: EH complete
[ 1.950046] scsi 2:0:0:0: Direct-Access ATA Hitachi HTS54168 SB2O PQ: 0 ANSI: 5
[ 1.974682] sd 2:0:0:0: [sda] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
[ 1.974743] sd 2:0:0:0: [sda] Write Protect is off
[ 1.974746] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.974771] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.974930] sda:
[ 1.974976] ACPI: Fan [C335] (off)
[ 1.975357] ACPI: Fan [C336] (off)
[ 1.975706] ACPI: Fan [C337] (off)
[ 1.976064] ACPI: Fan [C338] (off)
[ 1.977332] ACPI: Fan [C339] (off)
[ 1.977697] ACPI: Fan [C33A] (off)
[ 1.978059] ACPI: Fan [C33B] (off)
[ 1.978422] ACPI: Fan [C33C] (off)
[ 1.980309] ACPI: Fan [C33D] (off)
[ 1.980534] ACPI: Fan [C33E] (off)
[ 1.980711] ACPI: Fan [C33F] (off)
[ 2.141012] usb 2-2: new full speed USB device using uhci_hcd and address 2
[ 2.290117] usb 2-2: New USB device found, idVendor=03f0, idProduct=1e1d
[ 2.290120] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.290123] usb 2-2: Product: HP hs2300 HSDPA Broadband Wireless Module
[ 2.290125] usb 2-2: Manufacturer: HP
[ 2.356430] sda1 sda2 sda3 sda4 < sda5 sda6 sda7 >
[ 2.413609] sd 2:0:0:0: [sda] Attached SCSI disk
[ 2.420758] sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
[ 2.420761] Uniform CD-ROM driver Revision: 3.20
[ 2.420841] sr 0:0:0:0: Attached scsi CD-ROM sr0
[ 2.425022] sr 0:0:0:0: Attached scsi generic sg0 type 5
[ 2.425906] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 2.502011] usb 3-1: new full speed USB device using uhci_hcd and address 2
[ 2.653405] usb 3-1: New USB device found, idVendor=08ff, idProduct=2580
[ 2.653409] usb 3-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 2.653412] usb 3-1: Product: Fingerprint Sensor
[ 2.862010] usb 3-2: new low speed USB device using uhci_hcd and address 3
[ 2.985194] scsi 6:0:0:0: Direct-Access WDC WD10 EAVS-00D7B0 PQ: 0 ANSI: 2 CCS
[ 2.985684] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 2.986181] sd 6:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[ 2.986927] sd 6:0:0:0: [sdb] Write Protect is off
[ 2.986930] sd 6:0:0:0: [sdb] Mode Sense: 34 00 00 00
[ 2.986932] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 2.989304] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 2.989363] sdb: sdb1 sdb2 sdb3 sdb4 < sdb5
[ 3.025360] usb 3-2: New USB device found, idVendor=046d, idProduct=c00e
[ 3.025364] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.025366] usb 3-2: Product: USB-PS/2 Optical Mouse
[ 3.025368] usb 3-2: Manufacturer: Logitech
[ 3.030551] sdb6 sdb7 sdb8 >
[ 3.071794] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 3.071854] sd 6:0:0:0: [sdb] Attached SCSI disk
[ 3.076229] usbcore: registered new interface driver hiddev
[ 3.088558] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/input/input1
[ 3.088609] generic-usb 0003:046D:C00E.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.1-2/input0
[ 3.088624] usbcore: registered new interface driver usbhid
[ 3.088626] usbhid: USB HID core driver
[ 4.259401] device-mapper: uevent: version 1.0.3
[ 4.259514] device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com
[ 4.264139] PM: Starting manual resume from disk
[ 4.293469] EXT3-fs: barriers not enabled
[ 4.307758] kjournald starting. Commit interval 5 seconds
[ 4.307780] EXT3-fs (sda2): mounted filesystem with writeback data mode
[ 6.972973] udev: starting version 157
[ 7.759424] ACPI: acpi_idle registered with cpuidle
[ 7.766009] Monitor-Mwait will be used to enter C-1 state
[ 7.766857] Monitor-Mwait will be used to enter C-2 state
[ 7.766865] Marking TSC unstable due to TSC halts in idle
[ 7.767843] Switching to clocksource hpet
[ 7.886561] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
[ 7.886568] ACPI: Sleep Button [C242]
[ 7.886619] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input3
[ 7.886696] ACPI: Lid Switch [C23A]
[ 7.886759] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
[ 7.886763] ACPI: Power Button [PWRF]
[ 7.931096] [Firmware Bug]: ACPI: ACPI brightness control misses _BQC function
[ 7.931219] [Firmware Bug]: _BCQ is used instead of _BQC
[ 7.932380] acpi device:02: registered as cooling_device13
[ 7.932883] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input5
[ 7.932890] ACPI: Video Device [C12F] (multi-head: yes rom: no post: no)
[ 8.325247] ACPI: WMI: Mapper loaded
[ 8.336085] ACPI: AC Adapter [C1B8] (on-line)
[ 8.383762] ACPI: Battery Slot [C1BA] (battery present)
[ 8.383934] ACPI: Battery Slot [C1B9] (battery absent)
[ 8.415720] parport_pc 00:03: reported by Plug and Play ACPI
[ 8.415800] parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
[ 8.580646] lis3lv02d: hardware type NC64x0 found.
[ 8.584533] lis3lv02d: 12 bits sensor found
[ 8.608396] NET: Registered protocol family 23
[ 8.758900] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input6
[ 8.758972] Registered led device: hp::hddprotect
[ 8.759011] lis3lv02d driver loaded.
[ 8.782732] tpm_tis 00:04: 1.2 TPM (device-id 0xB, rev-id 16)
[ 8.800175] Synaptics Touchpad, model: 1, fw: 6.2, id: 0x2580b1, caps: 0xa04793/0x300000/0x0
[ 8.800184] serio: Synaptics pass-through port at isa0060/serio4/input0
[ 8.843742] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input7
[ 9.181463] input: PC Speaker as /devices/platform/pcspkr/input/input8
[ 9.510065] found SMC SuperIO Chip (devid=0x7a rev=01 base=0x004e): LPC47N227
[ 9.510090] smsc_superio_flat(): fir: 0x100, sir: 0x3e8, dma: 03, irq: 7, mode: 0x0e
[ 9.510094] smsc_ircc_present: can't get sir_base of 0x3e8
[ 9.608935] input: HP WMI hotkeys as /devices/virtual/input/input9
[ 9.839444] rtc_cmos 00:08: RTC can wake from S4
[ 9.839509] rtc_cmos 00:08: rtc core: registered rtc_cmos as rtc0
[ 9.839544] rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[ 9.906166] [drm] Initialized drm 1.1.0 20060810
[ 9.983007] iTCO_vendor_support: vendor-support=0
[ 9.984992] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.06
[ 9.985430] iTCO_wdt: Found a ICH7-M or ICH7-U TCO device (Version=2, TCOBASE=0x1060)
[ 9.985584] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[ 10.054873] yenta_cardbus 0000:02:06.0: CardBus bridge found [103c:30ac]
[ 10.054897] yenta_cardbus 0000:02:06.0: Enabling burst memory read transactions
[ 10.054904] yenta_cardbus 0000:02:06.0: Using INTVAL to route CSC interrupts to PCI
[ 10.054906] yenta_cardbus 0000:02:06.0: Routing CardBus interrupts to PCI
[ 10.054913] yenta_cardbus 0000:02:06.0: TI: mfunc 0x01aa1b22, devctl 0x64
[ 10.238573] intel_rng: FWH not detected
[ 10.277703] yenta_cardbus 0000:02:06.0: ISA IRQ mask 0x0c78, PCI irq 18
[ 10.277707] yenta_cardbus 0000:02:06.0: Socket status: 30000006
[ 10.277712] pci_bus 0000:02: Raising subordinate bus# of parent bus (#02) from #03 to #06
[ 10.277720] yenta_cardbus 0000:02:06.0: pcmcia: parent PCI bridge window: [io 0x8000-0x8fff]
[ 10.277724] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x8000-0x8fff: excluding 0x8000-0x80ff 0x8400-0x84ff
[ 10.285452] yenta_cardbus 0000:02:06.0: pcmcia: parent PCI bridge window: [mem 0xe0200000-0xe05fffff]
[ 10.285456] pcmcia_socket pcmcia_socket0: cs: memory probe 0xe0200000-0xe05fffff: excluding 0xe0200000-0xe023ffff
[ 10.285473] yenta_cardbus 0000:02:06.0: pcmcia: parent PCI bridge window: [mem 0x80000000-0x83ffffff pref]
[ 10.285476] pcmcia_socket pcmcia_socket0: cs: memory probe 0x80000000-0x83ffffff: excluding 0x80000000-0x83ffffff
[ 10.285849] tifm_7xx1 0000:02:06.2: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 10.479416] cfg80211: Calling CRDA to update world regulatory domain
[ 10.778369] [drm] VGACON disable radeon kernel modesetting.
[ 10.778955] pci 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 10.778961] pci 0000:01:00.0: setting latency timer to 64
[ 10.779133] [drm] Initialized radeon 1.33.0 20080528 for 0000:01:00.0 on minor 0
[ 10.798168] usbcore: registered new interface driver usbserial
[ 10.798188] USB Serial support registered for generic
[ 10.798217] usbcore: registered new interface driver usbserial_generic
[ 10.798220] usbserial: USB Serial Driver core
[ 10.925591] USB Serial support registered for Sierra USB modem
[ 10.925613] sierra 2-2:1.0: Sierra USB modem converter detected
[ 10.927600] usb 2-2: Sierra USB modem converter now attached to ttyUSB0
[ 10.927674] usb 2-2: Sierra USB modem converter now attached to ttyUSB1
[ 10.927745] usb 2-2: Sierra USB modem converter now attached to ttyUSB2
[ 10.927774] usbcore: registered new interface driver sierra
[ 10.927778] sierra: v.1.7.16:USB Driver for Sierra Wireless USB modems
[ 11.396343] psmouse serio5: ID: 10 00 64
[ 11.708405] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding 0x100-0x107 0x170-0x177 0x1f0-0x1f7 0x370-0x37f
[ 11.710684] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x3e8-0x3f7 0x4d0-0x4d7
[ 11.711615] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean.
[ 11.712435] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean.
[ 11.713308] pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcffff 0xe0000-0xfffff
[ 11.713371] pcmcia_socket pcmcia_socket0: cs: memory probe 0xa0000000-0xa0ffffff: clean.
[ 11.713433] pcmcia_socket pcmcia_socket0: cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
[ 11.713496] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean.
[ 11.872137] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:ds
[ 11.872140] iwl3945: Copyright(c) 2003-2010 Intel Corporation
[ 11.872213] iwl3945 0000:10:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 11.872228] iwl3945 0000:10:00.0: setting latency timer to 64
[ 11.926601] iwl3945 0000:10:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 11.926604] iwl3945 0000:10:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 11.926719] alloc irq_desc for 45 on node -1
[ 11.926721] alloc kstat_irqs on node -1
[ 11.926754] iwl3945 0000:10:00.0: irq 45 for MSI/MSI-X
[ 12.019609] phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 13.151994] cfg80211: World regulatory domain updated:
[ 13.151997] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 13.152001] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.152004] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 13.152007] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 13.152010] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.152024] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 13.203453] HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
[ 13.203490] HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
[ 13.203501] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 13.203565] alloc irq_desc for 46 on node -1
[ 13.203568] alloc kstat_irqs on node -1
[ 13.203581] HDA Intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[ 13.203618] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 13.203623] hda-intel: chipset global capabilities = 0x4401
[ 13.211048] hda-intel: codec_mask = 0x3
[ 13.211206] hda-intel: codec #0 probed OK
[ 13.211268] hda-intel: codec #1 probed OK
[ 13.244200] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input10
[ 13.244240] hda_codec: model 'hp' is selected for config 103c:0 (HP nx)
[ 14.098884] input: PS/2 Generic Mouse as /devices/platform/i8042/serio4/serio5/input/input11
[ 17.474655] EXT3-fs (sda2): using internal journal
[ 20.790551] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)
[ 20.900881] EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)
[ 21.122017] fuse init (API version 7.14)
[ 24.365045] iwl3945 0000:10:00.0: loaded firmware version 15.32.2.9
[ 26.376069] iwl3945 0000:10:00.0: Wait for START_ALIVE timeout after 2000ms.
[ 26.414078] iwl3945 0000:10:00.0: Microcode SW error detected. Restarting 0x82000008.
[ 26.414290] iwl3945 0000:10:00.0: Loaded firmware version: 15.32.2.9
[ 26.414451] iwl3945 0000:10:00.0: Start IWL Error Log Dump:
[ 26.414583] iwl3945 0000:10:00.0: Status: 0x000202E4, count: 1
[ 26.414714] iwl3945 0000:10:00.0: Desc Time asrtPC blink2 ilink1 nmiPC Line
[ 26.415150] iwl3945 0000:10:00.0: SYSASSERT (#5) 0000012081 0x008B6 0x00274 0x00320 0x00320 116
[ 26.415152]
[ 26.415611] iwl3945 0000:10:00.0: Start IWL Event Log Dump: display last 20 count
[ 26.415856] iwl3945 0000:10:00.0: 0000001260 0x00209377 0450
[ 26.416006] iwl3945 0000:10:00.0: 0000001262 0x00209377 0450
[ 26.416022] iwl3945 0000:10:00.0: 0000001264 0x00209377 0450
[ 26.416022] iwl3945 0000:10:00.0: 0000001267 0x00209377 0450
[ 26.416022] iwl3945 0000:10:00.0: 0000001268 0x00000fff 0451
[ 26.416022] iwl3945 0000:10:00.0: 0000001339 0x04030047 0401
[ 26.416022] iwl3945 0000:10:00.0: 0000001443 0x04040047 0401
[ 26.416022] iwl3945 0000:10:00.0: 0000001539 0x04050097 0401
[ 26.416022] iwl3945 0000:10:00.0: 0000001541 0x00000001 0451
[ 26.416022] iwl3945 0000:10:00.0: 0000001561 0x00000000 0451
[ 26.416022] iwl3945 0000:10:00.0: 0000001584 0x000000d9 0106
[ 26.416022] iwl3945 0000:10:00.0: 0000001586 0x00000000 0301
[ 26.416022] iwl3945 0000:10:00.0: 0000001822 0x00000001 0353
[ 26.416022] iwl3945 0000:10:00.0: 0000001832 0x00000000 0352
[ 26.416022] iwl3945 0000:10:00.0: 0000001840 0x000000d9 0106
[ 26.416022] iwl3945 0000:10:00.0: 0000001842 0x00000000 0301
[ 26.416022] iwl3945 0000:10:00.0: 0000002076 0x00000002 0353
[ 26.416022] iwl3945 0000:10:00.0: 0000002087 0x00000000 0352
[ 26.416022] iwl3945 0000:10:00.0: 0000012079 0x00000004 0123
[ 26.416022] iwl3945 0000:10:00.0: 0000012082 0x00000100 0125
[ 26.418857] ------------[ cut here ]------------
[ 26.418871] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.418874] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.418877] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.418879] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.418973] Pid: 0, comm: swapper Not tainted 2.6.35-rc3-iniza-686-kms #1
[ 26.418976] Call Trace:
[ 26.418983] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.418991] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.418995] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.419001] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.419016] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.419020] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.419026] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.419030] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.419033] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.419037] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.419040] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.419044] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.419048] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.419059] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.419065] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.419068] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.419072] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.419075] ---[ end trace 995b9da0cb4183e1 ]---
[ 26.419078] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.419289] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.419499] ------------[ cut here ]------------
[ 26.419506] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.419509] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.419511] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.419513] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.419592] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.419594] Call Trace:
[ 26.419598] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.419606] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.419610] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.419616] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.419622] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.419626] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.419631] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.419635] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.419638] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.419642] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.419645] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.419648] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.419652] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.419660] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.419665] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.419668] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.419671] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.419674] ---[ end trace 995b9da0cb4183e2 ]---
[ 26.419676] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.419886] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.420103] ------------[ cut here ]------------
[ 26.420110] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.420113] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.420116] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.420117] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.420196] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.420198] Call Trace:
[ 26.420202] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.420210] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.420214] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.420220] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.420226] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.420230] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.420235] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.420239] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.420242] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.420246] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.420249] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.420252] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.420255] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.420264] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.420268] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.420271] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.420275] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.420277] ---[ end trace 995b9da0cb4183e3 ]---
[ 26.420280] iwl data: 00000000: 00 ee 79 f6 00 00 00 00 00 00 00 00 00 00 00 00 ..y.............
[ 26.420490] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.420700] ------------[ cut here ]------------
[ 26.420707] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.420709] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.420712] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.420714] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.420792] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.420794] Call Trace:
[ 26.420798] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.420806] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.420810] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.420816] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.420822] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.420825] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.420831] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.420834] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.420838] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.420841] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.420844] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.420847] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.420851] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.420859] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.420864] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.420867] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.420870] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.420873] ---[ end trace 995b9da0cb4183e4 ]---
[ 26.420875] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.421093] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.421303] ------------[ cut here ]------------
[ 26.421310] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.421313] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.421315] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.421317] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.421396] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.421398] Call Trace:
[ 26.421402] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.421410] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.421414] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.421420] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.421426] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.421430] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.421435] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.421439] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.421442] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.421445] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.421449] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.421452] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.421455] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.421463] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.421468] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.421471] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.421474] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.421477] ---[ end trace 995b9da0cb4183e5 ]---
[ 26.421479] iwl data: 00000000: 00 ce 79 f6 00 00 00 00 00 00 00 00 00 00 00 00 ..y.............
[ 26.421689] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.421903] ------------[ cut here ]------------
[ 26.421910] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.421912] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.421915] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.421917] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.421996] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.421998] Call Trace:
[ 26.422009] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.422017] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.422021] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.422027] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.422033] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.422037] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.422042] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.422046] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.422050] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.422053] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.422056] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.422059] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.422063] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.422071] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.422076] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.422079] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.422082] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.422085] ---[ end trace 995b9da0cb4183e6 ]---
[ 26.422087] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.422300] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.422513] ------------[ cut here ]------------
[ 26.422520] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.422523] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.422525] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.422527] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.422606] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.422608] Call Trace:
[ 26.422611] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.422619] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.422623] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.422630] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.422636] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.422639] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.422644] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.422648] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.422652] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.422655] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.422658] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.422661] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.422665] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.422673] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.422678] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.422681] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.422684] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.422686] ---[ end trace 995b9da0cb4183e7 ]---
[ 26.422689] iwl data: 00000000: 00 ae 79 f6 00 00 00 00 00 00 00 00 00 00 00 00 ..y.............
[ 26.422903] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.423124] ------------[ cut here ]------------
[ 26.423131] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.423133] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.423136] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.423138] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.423217] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.423219] Call Trace:
[ 26.423223] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.423231] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.423234] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.423241] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.423247] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.423250] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.423256] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.423259] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.423263] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.423266] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.423269] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.423273] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.423276] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.423285] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.423289] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.423292] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.423295] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.423298] ---[ end trace 995b9da0cb4183e8 ]---
[ 26.423300] iwl data: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.423514] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.423728] ------------[ cut here ]------------
[ 26.423735] WARNING: at drivers/net/wireless/iwlwifi/iwl-tx.c:611 iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]()
[ 26.423737] Hardware name: HP Compaq nc6400 (RH572EA#ABD)
[ 26.423740] wrong command queue 0, sequence 0x0 readp=0 writep=2
[ 26.423742] Modules linked in: fuse ext4 jbd2 crc16 snd_hda_codec_si3054 snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi arc4 ecb iwl3945 snd_rawmidi snd_seq_midi_event iwlcore snd_seq snd_timer snd_seq_device sierra usbserial radeon pcmcia mac80211 cfg80211 ttm rng_core drm_kms_helper snd tifm_7xx1 yenta_socket pcmcia_rsrc pcmcia_core iTCO_wdt iTCO_vendor_support drm soundcore intel_agp i2c_algo_bit hp_wmi i2c_core snd_page_alloc rtc_cmos tifm_core joydev tpm_infineon pcspkr rfkill evdev rtc_core rtc_lib tpm_tis tpm container irda hp_accel psmouse lis3lv02d parport_pc parport battery ac wmi tpm_bios crc_ccitt serio_raw input_polldev video button output processor ext3 jbd mbcache dm_mod usbhid hid sg sr_mod cdrom fan sd_mod pata_acpi ata_generic usb_storage uhci_hcd ahci ata_piix libahci ehci_hcd sdhci_pci sdhci libata mmc_core scsi_mod usbcore tg3 led_class nls_base thermal [last unloaded: scsi_wait_scan]
[ 26.423820] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc3-iniza-686-kms #1
[ 26.423823] Call Trace:
[ 26.423826] [<c102e931>] ? warn_slowpath_common+0x6a/0x7b
[ 26.423834] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.423838] [<c102e9a8>] ? warn_slowpath_fmt+0x28/0x2c
[ 26.423844] [<f924b2f1>] ? iwl_tx_cmd_complete+0x51/0x1c5 [iwlcore]
[ 26.423850] [<f92be25b>] ? iwl3945_rx_handle+0x282/0x387 [iwl3945]
[ 26.423854] [<c103cb6f>] ? __queue_work+0x1e/0x2a
[ 26.423859] [<f92be9c3>] ? iwl3945_irq_tasklet+0x3d5/0x5f8 [iwl3945]
[ 26.423863] [<c1032b17>] ? tasklet_action+0x87/0xda
[ 26.423866] [<c10330f4>] ? __do_softirq+0x80/0xfc
[ 26.423870] [<c103319e>] ? do_softirq+0x2e/0x38
[ 26.423873] [<c103326b>] ? irq_exit+0x29/0x64
[ 26.423876] [<c100440a>] ? do_IRQ+0x81/0x92
[ 26.423879] [<c10033a9>] ? common_interrupt+0x29/0x30
[ 26.423888] [<f86dc0bf>] ? acpi_idle_enter_simple+0xff/0x13c [processor]
[ 26.423892] [<c119f6b6>] ? cpuidle_idle_call+0x6b/0xa1
[ 26.423896] [<c100216b>] ? cpu_idle+0x46/0x73
[ 26.423899] [<c133089d>] ? start_kernel+0x31c/0x31f
[ 26.423901] ---[ end trace 995b9da0cb4183e9 ]---
[ 26.423903] iwl data: 00000000: 00 8e 79 f6 00 00 00 00 00 00 00 00 00 00 00 00 ..y.............
[ 26.424121] iwl data: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 26.424360] iwl3945 0000:10:00.0: Command REPLY_RXON failed: FW Error
[ 26.424493] iwl3945 0000:10:00.0: Error setting new configuration (-5).
[ 26.432470] iwl3945 0000:10:00.0: Can't stop Rx DMA.
[ 27.573761] NET: Registered protocol family 10
[ 27.574472] lo: Disabled Privacy Extensions
[ 27.575252] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 31.382911] lp0: using parport0 (interrupt-driven).
[ 31.382914] lp0: console ready
[ 31.411368] ppdev: user-space parallel port driver
[ 36.550818] Bluetooth: Core ver 2.15
[ 36.550841] NET: Registered protocol family 31
[ 36.550843] Bluetooth: HCI device and connection manager initialized
[ 36.550846] Bluetooth: HCI socket layer initialized
[ 36.588427] Bluetooth: L2CAP ver 2.14
[ 36.588429] Bluetooth: L2CAP socket layer initialized
[ 36.666979] Bluetooth: RFCOMM TTY layer initialized
[ 36.666984] Bluetooth: RFCOMM socket layer initialized
[ 36.666986] Bluetooth: RFCOMM ver 1.11
[ 36.730094] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 36.730097] Bluetooth: BNEP filters: protocol multicast
[ 36.826526] Bridge firewalling registered
[ 36.946506] Bluetooth: SCO (Voice Link) ver 0.6
[ 36.946509] Bluetooth: SCO socket layer initialized
[ 40.428470] CPUFREQ: Per core ondemand sysfs interface is deprecated - up_threshold
[ 40.429463] CPUFREQ: Per core ondemand sysfs interface is deprecated - ignore_nice_load
[ 66.130247] [drm] Module unloaded
[ 68.714386] [drm] Initialized drm 1.1.0 20060810
[ 68.749138] [drm] radeon kernel modesetting enabled.
[ 68.749183] radeon 0000:01:00.0: setting latency timer to 64
[ 68.750442] [drm] initializing kernel modesetting (RV515 0x1002:0x714A).
[ 68.753159] [drm] register mmio base: 0xE0600000
[ 68.753164] [drm] register mmio size: 65536
[ 68.753493] ATOM BIOS: M52T
[ 68.753520] [drm] Generation 2 PCI interface, using max accessible memory
[ 68.753525] radeon 0000:01:00.0: VRAM: 64M 0x00000000 - 0x03FFFFFF (64M used)
[ 68.753529] radeon 0000:01:00.0: GTT: 512M 0x04000000 - 0x23FFFFFF
[ 68.753603] alloc irq_desc for 47 on node -1
[ 68.753606] alloc kstat_irqs on node -1
[ 68.753617] radeon 0000:01:00.0: irq 47 for MSI/MSI-X
[ 68.753623] [drm] radeon: using MSI.
[ 68.753654] [drm] radeon: irq initialized.
[ 68.754826] [drm] Detected VRAM RAM=64M, BAR=64M
[ 68.754831] [drm] RAM width 64bits DDR
[ 68.754939] [TTM] Zone kernel: Available graphics memory: 443958 kiB.
[ 68.754942] [TTM] Zone highmem: Available graphics memory: 1037786 kiB.
[ 68.754944] [TTM] Initializing pool allocator.
[ 68.754967] [drm] radeon: 64M of VRAM memory ready
[ 68.754969] [drm] radeon: 512M of GTT memory ready.
[ 68.754995] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 68.756538] [drm] radeon: 1 quad pipes, 1 z pipes initialized.
[ 68.757774] [drm] PCIE GART of 512M enabled (table at 0x00040000).
[ 68.757826] [drm] Loading R500 Microcode
[ 68.799743] [drm] radeon: ring at 0x0000000004000000
[ 68.799780] [drm] ring test succeeded in 10 usecs
[ 68.799968] [drm] radeon: ib pool ready.
[ 68.800071] [drm] ib test succeeded in 0 usecs
[ 68.800099] [drm] Default TV standard: NTSC
[ 68.800104] [drm] Default TV standard: NTSC
[ 68.800211] [drm] Default TV standard: NTSC
[ 68.800297] [drm] Radeon Display Connectors
[ 68.800299] [drm] Connector 0:
[ 68.800301] [drm] VGA
[ 68.800304] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[ 68.800306] [drm] Encoders:
[ 68.800308] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 68.800310] [drm] Connector 1:
[ 68.800311] [drm] LVDS
[ 68.800314] [drm] DDC: 0x7e30 0x7e30 0x7e34 0x7e34 0x7e38 0x7e38 0x7e3c 0x7e3c
[ 68.800316] [drm] Encoders:
[ 68.800317] [drm] LCD1: INTERNAL_LVTM1
[ 68.800319] [drm] Connector 2:
[ 68.800321] [drm] S-video
[ 68.800322] [drm] Encoders:
[ 68.800324] [drm] TV1: INTERNAL_KLDSCP_DAC2
[ 68.800326] [drm] Connector 3:
[ 68.800327] [drm] DVI-I
[ 68.800329] [drm] HPD1
[ 68.800331] [drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[ 68.800333] [drm] Encoders:
[ 68.800335] [drm] DFP1: INTERNAL_KLDSCP_TMDS1
[ 68.860565] [drm] radeon: power management initialized
[ 69.203842] [drm] fb mappable at 0xD80C0000
[ 69.203845] [drm] vram apper at 0xD8000000
[ 69.203847] [drm] size 4096000
[ 69.203849] [drm] fb depth is 24
[ 69.203851] [drm] pitch is 5120
[ 69.203911] fbcon: radeondrmfb (fb0) is primary device
[ 69.361280] Console: switching to colour frame buffer device 160x50
[ 69.366774] fb0: radeondrmfb frame buffer device
[ 69.366776] drm: registered panic notifier
[ 69.366780] Slow work thread pool: Starting up
[ 69.366873] Slow work thread pool: Ready
[ 69.366879] [drm] Initialized radeon 2.5.0 20080528 for 0000:01:00.0 on minor 0
[ 210.467312] iwl3945 0000:10:00.0: PCI INT A disabled
[ 225.541479] cfg80211: Calling CRDA to update world regulatory domain
[ 225.550830] cfg80211: World regulatory domain updated:
[ 225.550833] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 225.550837] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 225.550840] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 225.550843] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 225.550846] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 225.550849] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 225.583717] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:ds
[ 225.583720] iwl3945: Copyright(c) 2003-2010 Intel Corporation
[ 225.583798] iwl3945 0000:10:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 225.583818] iwl3945 0000:10:00.0: setting latency timer to 64
[ 225.624390] iwl3945 0000:10:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 225.624393] iwl3945 0000:10:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 225.624539] iwl3945 0000:10:00.0: irq 45 for MSI/MSI-X
[ 225.624944] phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 237.107632] iwl3945 0000:10:00.0: loaded firmware version 15.32.2.9
[ 237.271672] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 237.388901] NET: Registered protocol family 17
[ 247.432406] wlan0: authenticate with 00:04:0e:e4:00:3d (try 1)
[ 247.434146] wlan0: authenticated
[ 247.434772] wlan0: associate with 00:04:0e:e4:00:3d (try 1)
[ 247.438402] wlan0: RX AssocResp from 00:04:0e:e4:00:3d (capab=0x411 status=0 aid=1)
[ 247.438409] wlan0: associated
[ 247.441688] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 247.520606] padlock: VIA PadLock not detected.
[ 258.210035] wlan0: no IPv6 routers present
^ permalink raw reply
* Re: patch "net: deliver skbs on inactive slaves to exact matches" stalls nfs mounts
From: John Fastabend @ 2010-06-16 22:36 UTC (permalink / raw)
To: Fred Isaman; +Cc: netdev@vger.kernel.org, NFS list, David S. Miller
In-Reply-To: <AANLkTil5gBFkXgmImU1Mt8uJXKTTNCen8NtzWpBxaYdq@mail.gmail.com>
Fred Isaman wrote:
> I am using vmware fusion 3.1.0 on a macbook pro host with a fedora 12
> guest running a 2.6.35-rc3 based kernel, Upgrading from rc2 to rc3
> introduced a long delay when the guest attempts an nfs mount (~120
> secs). Reverting patch 597a264b1a9c7e36d1728f677c66c5c1f7e3b837
> "net: deliver skbs on inactive slaves to exact matches" changes back
> to normal behavior.
>
> Fred
This should be fixed here,
From e897082fe7a5b591dc4dd5599ac39081a7c8e482 Mon Sep 17 00:00:00 2001
From: John Fastabend <john.r.fastabend@intel.com>
Date: Sun, 13 Jun 2010 10:36:30 +0000
Subject: [PATCH] net: fix deliver_no_wcard regression on loopback device
deliver_no_wcard is not being set in skb_copy_header.
In the skb_cloned case it is not being cleared and
may cause the skb to be dropped when the loopback device
pushes it back up the stack.
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
^ permalink raw reply
* Re: [PATCH 3/3] cxgb4i_v4.3 : main driver files
From: Mike Christie @ 2010-06-16 22:19 UTC (permalink / raw)
To: open-iscsi-/JYPxA39Uh5TLH3MbocFFw
Cc: Rakesh Ranjan, LK-NetDev, LK-SCSIDev, LKML, Karen Xie,
David Miller, James Bottomley, Anish Bhatt
In-Reply-To: <1275973167-8640-4-git-send-email-rakesh-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
On 06/07/2010 11:59 PM, Rakesh Ranjan wrote:
> From: Rakesh Ranjan<rakesh-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
>
>
> Signed-off-by: Rakesh Ranjan<rakesh-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
> ---
> drivers/scsi/cxgbi/cxgb4i.h | 175 +++++
> drivers/scsi/cxgbi/cxgb4i_ddp.c | 653 ++++++++++++++++
> drivers/scsi/cxgbi/cxgb4i_init.c | 317 ++++++++
> drivers/scsi/cxgbi/cxgb4i_offload.c | 1409 +++++++++++++++++++++++++++++++++++
> 4 files changed, 2554 insertions(+), 0 deletions(-)
> create mode 100644 drivers/scsi/cxgbi/cxgb4i.h
> create mode 100644 drivers/scsi/cxgbi/cxgb4i_ddp.c
> create mode 100644 drivers/scsi/cxgbi/cxgb4i_init.c
> create mode 100644 drivers/scsi/cxgbi/cxgb4i_offload.c
>
Do you think you can look through this patch and identify the places
where you basically just copied a cxgb3i function or copied it but
renamed some stuff and then move these type of things to the lib patch?
A lot of the scatter list stuff for example looks the same in each driver.
ddp_find_unused_entries - cxgb4i_ddp_find_unused_entries
ddp_unmark_entries - cxgb4i_ddp_unmark_entries
cxgb3i_ddp_find_page_index - cxgb4i_ddp_find_page_index
cxgb3i_ddp_adjust_page_table - cxgb4i_ddp_adjust_page_table
..... (lots of the ddp code looks duplicated).
The *_offload.c code looks the same.
--
You received this message because you are subscribed to the Google Groups "open-iscsi" group.
To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at http://groups.google.com/group/open-iscsi?hl=en.
^ permalink raw reply
* Re: [PATCH 0/8] Support unix domain sockets across namespaces
From: David Miller @ 2010-06-16 22:15 UTC (permalink / raw)
To: ebiederm; +Cc: serue, containers, daniel.lezcano, netdev, xemul
In-Reply-To: <m1hbl7hxo3.fsf@fess.ebiederm.org>
From: ebiederm@xmission.com (Eric W. Biederman)
Date: Sun, 13 Jun 2010 06:25:32 -0700
> This patchset takes a addressing all of the issues that crop up with
> unix domain sockets when the senders and receivers are in separate
> namespaces.
>
> Without this patchset we can report the wrong pid and uid
> values in our unix domain credentials.
>
> As a finally this patchset removes the now unnecessary restriction
> that we only allow unix domain sockets between processes in the
> same network namespace.
Looks good, all applied to net-next-2.6, thanks Eric.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox