* Re: [PATCH] net: remove rcu locking from fib_rules_event()
From: David Miller @ 2010-03-17 4:28 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, paulmck
In-Reply-To: <1268201018.2872.139.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 10 Mar 2010 07:03:38 +0100
> We hold RTNL at this point and dont use RCU variants of list traversals,
> we dont need rcu_read_lock()/rcu_read_unlock()
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply
* Re: [Bridge] [PATCH] bridge: per-cpu packet statistics (v3)
From: David Miller @ 2010-03-17 4:27 UTC (permalink / raw)
To: shemminger; +Cc: eric.dumazet, netdev, bridge
In-Reply-To: <20100302153209.74742a96@nehalam>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Tue, 2 Mar 2010 15:32:09 -0800
> The shared packet statistics are a potential source of slow down
> on bridged traffic. Convert to per-cpu array, but only keep those
> statistics which change per-packet.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH] tipc: Increase frequency of load distribution over broadcast link
From: David Miller @ 2010-03-17 4:27 UTC (permalink / raw)
To: nhorman; +Cc: netdev, allan.stephens
In-Reply-To: <20100315180223.GC24528@hmsreliant.think-freely.org>
From: Neil Horman <nhorman@tuxdriver.com>
Date: Mon, 15 Mar 2010 14:02:24 -0400
> Forward port commit 29eb572941501c40ac6e62dbc5043bf9ee76ee56
> from git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git
>
> Origional commit message:
> Increase frequency of load distribution over broadcast link
>
> This patch enhances the behavior of TIPC's broadcast link so that it
> alternates between redundant bearers (if available) after every
> message sent, rather than after every 10 messages. This change helps
> to speed up delivery of retransmitted messages by ensuring that
> they are not sent repeatedly over a bearer that is no longer working,
> but not yet recognized as failed.
>
> Tested by myself in the latest net-2.6 tree using the tipc sanity test suite
>
> Origionally-signed-off-by: Allan Stephens <allan.stephens@windriver.com>
> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Applied.
^ permalink raw reply
* Re: [PATCH] tipc: Allow retransmission of cloned buffers
From: David Miller @ 2010-03-17 4:27 UTC (permalink / raw)
To: nhorman; +Cc: netdev, allan.stephens
In-Reply-To: <20100315175845.GB24528@hmsreliant.think-freely.org>
From: Neil Horman <nhorman@tuxdriver.com>
Date: Mon, 15 Mar 2010 13:58:45 -0400
> Forward port commit
> fc477e160af086f6e30c3d4fdf5f5c000d29beb5
> from git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git
>
> Origional commit message:
>
> Allow retransmission of cloned buffers
>
> This patch fixes an issue with TIPC's message retransmission logic
> that prevented retransmission of clone sk_buffs. Originally intended
> as a means of avoiding wasted work in retransmitting messages that
> were still on the driver's outbound queue, it also prevented TIPC
> from retransmitting messages through other means -- such as the
> secondary bearer of the broadcast link, or another interface in a
> set of bonded interfaces. This fix removes existing checks for
> cloned sk_buffs that prevented such retransmission.
>
> Origionally-Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Applied.
^ permalink raw reply
* Re: [PATCH v7] rps: Receive Packet Steering
From: David Miller @ 2010-03-17 4:26 UTC (permalink / raw)
To: eric.dumazet; +Cc: therbert, netdev
In-Reply-To: <1268773227.2932.34.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 16 Mar 2010 22:00:27 +0100
> Le mardi 16 mars 2010 à 11:03 -0700, Tom Herbert a écrit :
>> This patch implements software receive side packet steering (RPS). RPS
>> distributes the load of received packet processing across multiple CPUs.
...
> Well, I tested this on my dev machine, with a vlan over bonding setup,
> tg3 and bnx2 drivers (mono queue), and all is good. UDP bench not
> anymore using 100% of one cpu and dropping frames.
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next 00/13] RDS bugfixes and cleanups
From: David Miller @ 2010-03-17 4:18 UTC (permalink / raw)
To: andy.grover; +Cc: netdev, rds-devel
In-Reply-To: <1268351407-7394-1-git-send-email-andy.grover@oracle.com>
From: Andy Grover <andy.grover@oracle.com>
Date: Thu, 11 Mar 2010 15:49:54 -0800
> These patches are against net-next, please apply.
All applied, thanks Andy.
BTW:
+ /* Do not send cong updates to IB loopback */
+ if (conn->c_loopback
+ && rm->m_inc.i_hdr.h_flags & RDS_FLAG_CONG_BITMAP) {
+ rds_cong_map_updated(conn->c_fcong, ~(u64) 0);
+ return sizeof(struct rds_header) + RDS_CONG_MAP_BYTES;
+ }
+
Be careful with operator precedence here. Even if it's right,
probably better to add parenthesis just to sleep more easily
at night :-)
^ permalink raw reply
* [PATCH] Improved network performance by balancing Rx against other work
From: Peter Chubb @ 2010-03-17 2:55 UTC (permalink / raw)
To: netdev
Hi,
I don't know how many people caught my talk at LCA, but the
slides are now up at http://www.lca2010.org.nz/slides/50036.pdf
The general approach is to restrict the work done in the Rx-side
processing to just 32 or so packets at a time then call
sys_sched_yield() to allow other system processing to get a look in.
Currently, NAPI processing happens in soft IRQ context, and much of it
with interrupts off. Moreover, when a particular poll routine is over
budget, the softirq is reraised --- so the softirq thread keeps
running until the scheduler (which under loaded conditions sees
softirq as a CPU-intensive thread) decides to preempt it. By this
time, more packets are queued than the upper levels can handle in a
reasonable time, killing overall system performance. In addition,
because so much runs with interrupts disabled, real-time performance
sucks.
The results in the talk were for UDP echo, which is a bit easier to
analyse than NFS.
By running the interrupt handler as a separate thread running
SCHED_NORMAL, and getting rid of all deferred work (implicitly
coalescing interrupts) I see around 15% improvement in NFSstone.
What's more, under overload conditions, the standard Linux kernel's
performance droops markedly with increasing load; with this patch, it
remains approximately constant.
Against a 3GHz Celeron, the standard kernel gives a peak of around
8000 NFS ops/sec; as the load increases this drops a little. With this
patch I see 10 000 ops/sec, and less drooping.
NFS over UDP
requests/sec Completed Completed
Generated Std Kernel My patch
5000 5000 5000
10000 8169 10000
15000 7938 10649
20000 7579 11084
25000 7541 10133
Median Latencies at low load are about the same, at around 300usec
(max 7ms). At 10000 applied ops per second, with my patch the median
per-request latency is around 53ms, with the standard kernel 200ms.
CPU usage is around the same in both cases.
I've appended an updated patch (the one I used to present the results
at LCA2010 was extremely hacky, this one is just a bit hacky).
I'm not expecting this to be applied; but please try to reproduce my
results. To do this `properly' is going to mean fairly major surgery
to the NAPI layer, and I'm not yet sure of the right way to do that.
I'd also like a sanity check on my analysis.
Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
---
drivers/net/e1000/e1000.h | 2
drivers/net/e1000/e1000_main.c | 115 ++++++++++++++++++++++++-----------------
kernel/fork.c | 2
kernel/sched.c | 1
4 files changed, 73 insertions(+), 47 deletions(-)
Index: linux-2.6-peterc/drivers/net/e1000/e1000.h
===================================================================
--- linux-2.6-peterc.orig/drivers/net/e1000/e1000.h
+++ linux-2.6-peterc/drivers/net/e1000/e1000.h
@@ -287,6 +287,8 @@ struct e1000_adapter {
int cleaned_count);
struct e1000_rx_ring *rx_ring; /* One per active queue */
struct napi_struct napi;
+ struct task_struct *irq_thread;
+ u32 last_icr;
int num_tx_queues;
int num_rx_queues;
Index: linux-2.6-peterc/drivers/net/e1000/e1000_main.c
===================================================================
--- linux-2.6-peterc.orig/drivers/net/e1000/e1000_main.c
+++ linux-2.6-peterc/drivers/net/e1000/e1000_main.c
@@ -28,6 +28,8 @@
#include "e1000.h"
#include <net/ip6_checksum.h>
+#include <linux/kthread.h>
+#include <linux/syscalls.h> /* sys_sched_yield() */
char e1000_driver_name[] = "e1000";
static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
@@ -131,6 +133,7 @@ static struct net_device_stats * e1000_g
static int e1000_change_mtu(struct net_device *netdev, int new_mtu);
static int e1000_set_mac(struct net_device *netdev, void *p);
static irqreturn_t e1000_intr(int irq, void *data);
+static int e1000_intr_thread(void *data);
static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
struct e1000_tx_ring *tx_ring);
static int e1000_clean(struct napi_struct *napi, int budget);
@@ -269,6 +272,12 @@ static int e1000_request_irq(struct e100
"Unable to allocate interrupt Error: %d\n", err);
}
+ adapter->irq_thread = kthread_create(e1000_intr_thread,
+ netdev,
+ "irq/%d-%s",
+ adapter->pdev->irq,
+ netdev->name);
+ get_task_struct(adapter->irq_thread);
return err;
}
@@ -277,6 +286,9 @@ static void e1000_free_irq(struct e1000_
struct net_device *netdev = adapter->netdev;
free_irq(adapter->pdev->irq, netdev);
+ kthread_stop(adapter->irq_thread);
+ put_task_struct(adapter->irq_thread);
+
}
/**
@@ -396,8 +408,6 @@ int e1000_up(struct e1000_adapter *adapt
clear_bit(__E1000_DOWN, &adapter->flags);
- napi_enable(&adapter->napi);
-
e1000_irq_enable(adapter);
netif_wake_queue(adapter->netdev);
@@ -495,8 +505,6 @@ void e1000_down(struct e1000_adapter *ad
E1000_WRITE_FLUSH();
msleep(10);
- napi_disable(&adapter->napi);
-
e1000_irq_disable(adapter);
del_timer_sync(&adapter->tx_fifo_stall_timer);
@@ -888,7 +896,6 @@ static int __devinit e1000_probe(struct
netdev->netdev_ops = &e1000_netdev_ops;
e1000_set_ethtool_ops(netdev);
netdev->watchdog_timeo = 5 * HZ;
- netif_napi_add(netdev, &adapter->napi, e1000_clean, 64);
strncpy(netdev->name, pci_name(pdev), sizeof(netdev->name) - 1);
@@ -1288,8 +1295,6 @@ static int e1000_open(struct net_device
/* From here on the code is the same as e1000_up() */
clear_bit(__E1000_DOWN, &adapter->flags);
- napi_enable(&adapter->napi);
-
e1000_irq_enable(adapter);
netif_start_queue(netdev);
@@ -3347,6 +3352,55 @@ void e1000_update_stats(struct e1000_ada
spin_unlock_irqrestore(&adapter->stats_lock, flags);
}
+static int
+e1000_wait_for_intr(struct e1000_adapter *adapter)
+{
+ while (!kthread_should_stop()) {
+ set_current_state(TASK_INTERRUPTIBLE);
+ if (adapter->last_icr) {
+ __set_current_state(TASK_RUNNING);
+ return 0;
+ }
+ schedule();
+ }
+ return -1;
+}
+
+static int e1000_intr_thread(void *data)
+{
+ struct net_device *netdev = data;
+ struct e1000_adapter *adapter = netdev_priv(netdev);
+ const int budget = 32; // FIXME should be auto-tuneable
+ int tx_clean_complete = 0, work_done = 0;
+
+ while(!e1000_wait_for_intr(adapter)) {
+ do {
+ work_done = 0;
+
+ tx_clean_complete = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]);
+ adapter->clean_rx(adapter, &adapter->rx_ring[0], &work_done, budget);
+ if (!tx_clean_complete)
+ work_done = budget;
+
+ if (work_done == budget) {
+ /*
+ * Give up the rest of the timeslice to allow
+ * userspace to make forward progress
+ */
+ sys_sched_yield();
+ }
+ } while (work_done == budget);
+
+ /* If budget not fully consumed, wait for an interrupt */
+ adapter->last_icr = 0;
+ if (likely(adapter->itr_setting & 3))
+ e1000_set_itr(adapter);
+ if (!test_bit(__E1000_DOWN, &adapter->flags))
+ e1000_irq_enable(adapter);
+ }
+ return 0;
+}
+
/**
* e1000_intr - Interrupt Handler
* @irq: interrupt number
@@ -3374,49 +3428,12 @@ static irqreturn_t e1000_intr(int irq, v
ew32(IMC, ~0);
E1000_WRITE_FLUSH();
- if (likely(napi_schedule_prep(&adapter->napi))) {
- adapter->total_tx_bytes = 0;
- adapter->total_tx_packets = 0;
- adapter->total_rx_bytes = 0;
- adapter->total_rx_packets = 0;
- __napi_schedule(&adapter->napi);
- } else {
- /* this really should not happen! if it does it is basically a
- * bug, but not a hard error, so enable ints and continue */
- if (!test_bit(__E1000_DOWN, &adapter->flags))
- e1000_irq_enable(adapter);
- }
+ adapter->last_icr = icr;
+ wake_up_process(adapter->irq_thread);
return IRQ_HANDLED;
}
-/**
- * e1000_clean - NAPI Rx polling callback
- * @adapter: board private structure
- **/
-static int e1000_clean(struct napi_struct *napi, int budget)
-{
- struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi);
- int tx_clean_complete = 0, work_done = 0;
-
- tx_clean_complete = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]);
-
- adapter->clean_rx(adapter, &adapter->rx_ring[0], &work_done, budget);
-
- if (!tx_clean_complete)
- work_done = budget;
-
- /* If budget not fully consumed, exit the polling mode */
- if (work_done < budget) {
- if (likely(adapter->itr_setting & 3))
- e1000_set_itr(adapter);
- napi_complete(napi);
- if (!test_bit(__E1000_DOWN, &adapter->flags))
- e1000_irq_enable(adapter);
- }
-
- return work_done;
-}
/**
* e1000_clean_tx_irq - Reclaim resources after transmit completes
Index: linux-2.6-peterc/kernel/fork.c
===================================================================
--- linux-2.6-peterc.orig/kernel/fork.c
+++ linux-2.6-peterc/kernel/fork.c
@@ -178,6 +178,8 @@ void __put_task_struct(struct task_struc
free_task(tsk);
}
+EXPORT_SYMBOL(__put_task_struct);
+
/*
* macro override instead of weak attribute alias, to workaround
* gcc 4.1.0 and 4.1.1 bugs with weak attribute and empty functions.
Index: linux-2.6-peterc/kernel/sched.c
===================================================================
--- linux-2.6-peterc.orig/kernel/sched.c
+++ linux-2.6-peterc/kernel/sched.c
@@ -4946,6 +4946,7 @@ SYSCALL_DEFINE0(sched_yield)
return 0;
}
+EXPORT_SYMBOL(sys_sched_yield);
static inline int should_resched(void)
{
--
Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au
http://www.ertos.nicta.com.au ERTOS within National ICT Australia
^ permalink raw reply
* GET BACK TO ME,
From: Mr Shun Yin @ 2010-03-10 17:01 UTC (permalink / raw)
Hello Friend,
I am Mr. Shun Yin, I have a business proposal of $17,300.000.00 for you to handle with me from my bank.
If you are interested, please send me your full contact details and after that I shall provide you with more details of the business. Email: yinshun66887@yahoo.com.hk
Regards,
Shun.
^ permalink raw reply
* Re: [PATCH v7] rps: Receive Packet Steering
From: Changli Gao @ 2010-03-17 1:54 UTC (permalink / raw)
To: David Miller; +Cc: eric.dumazet, therbert, netdev
In-Reply-To: <20100316.141311.262178287.davem@davemloft.net>
On Wed, Mar 17, 2010 at 5:13 AM, David Miller <davem@davemloft.net> wrote:
>
> I'll integrate this as soon as I open up net-next-2.6
It is really a good news. Now linux also can dispatch packets as
FreeBSD does via netisr. Can we walk farer, and support weighted
distribution?
--
Regards,
Changli Gao(xiaosuo@gmail.com)
^ permalink raw reply
* Re: [PATCH] route: Fix caught BUG_ON during rt_secret_rebuild_oneshot()
From: Neil Horman @ 2010-03-17 0:54 UTC (permalink / raw)
To: David Miller; +Cc: eric.dumazet, vgusev, herbert, netdev
In-Reply-To: <20100316.143028.54055122.davem@davemloft.net>
On Tue, Mar 16, 2010 at 02:30:28PM -0700, David Miller wrote:
> From: Neil Horman <nhorman@tuxdriver.com>
> Date: Tue, 16 Mar 2010 14:18:16 -0400
>
> > Ok, I just figured it was time to pose the question, since we'd fixed several
> > bugs in this area over the last year. Certainly doesn't hurt to keep the
> > rebuild timer around a bit longer. I re-iterate my ack to Vitaliy's patch then.
>
> Applied, thanks everyone.
>
> I frankly would be OK with seeing the rebuild timer go away
> as early as 2.6.35
>
I'll have something together for it around that time frame
Neil
^ permalink raw reply
* Re: [PATCH 1/3] netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
From: Pablo Neira Ayuso @ 2010-03-17 0:04 UTC (permalink / raw)
To: netdev; +Cc: kaber, davem
In-Reply-To: <20100316232957.4185.46217.stgit@decadence>
[-- Attachment #1: Type: text/plain, Size: 77 bytes --]
The previous patch was broken, sorry. Please, take this one instead. Thanks!
[-- Attachment #2: netlink.patch --]
[-- Type: text/x-patch, Size: 2806 bytes --]
netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
Currently, ENOBUFS errors are reported to the socket via
netlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However,
that should not happen. This fixes this problem and it changes the
prototype of netlink_set_err() to return the number of sockets whose
error has been set. This allows to know if any error has been set.
This return value is used in the next patch in these bugfix series.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/linux/netlink.h | 2 +-
net/netlink/af_netlink.c | 13 +++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index fde27c0..6eaca5e 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -188,7 +188,7 @@ extern int netlink_has_listeners(struct sock *sk, unsigned int group);
extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock);
extern int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 pid,
__u32 group, gfp_t allocation);
-extern void netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code);
+extern int netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code);
extern int netlink_register_notifier(struct notifier_block *nb);
extern int netlink_unregister_notifier(struct notifier_block *nb);
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 4c5972b..4ae2e8f 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1104,8 +1104,12 @@ static inline int do_one_set_err(struct sock *sk,
!test_bit(p->group - 1, nlk->groups))
goto out;
+ if (p->code == ENOBUFS && nlk->flags & NETLINK_RECV_NO_ENOBUFS)
+ goto out;
+
sk->sk_err = p->code;
sk->sk_error_report(sk);
+ return 1;
out:
return 0;
}
@@ -1116,12 +1120,16 @@ out:
* @pid: the PID of a process that we want to skip (if any)
* @groups: the broadcast group that will notice the error
* @code: error code, must be negative (as usual in kernelspace)
+ *
+ * This function returns the number of broadcast listeners whose error code
+ * has been set.
*/
-void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
+int netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
{
struct netlink_set_err_data info;
struct hlist_node *node;
struct sock *sk;
+ int ret = 0;
info.exclude_sk = ssk;
info.pid = pid;
@@ -1132,9 +1140,10 @@ void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
read_lock(&nl_table_lock);
sk_for_each_bound(sk, node, &nl_table[ssk->sk_protocol].mc_list)
- do_one_set_err(sk, &info);
+ ret += do_one_set_err(sk, &info);
read_unlock(&nl_table_lock);
+ return ret;
}
EXPORT_SYMBOL(netlink_set_err);
^ permalink raw reply related
* Re: [Regression] r8169: enable 64-bit DMA by default for PCI Express devices (v2)
From: David Miller @ 2010-03-16 23:40 UTC (permalink / raw)
To: hancockrwd; +Cc: joern, torvalds, linux-kernel, netdev, romieu
In-Reply-To: <51f3faa71003161630g69160ea9tc1a2d448682632e5@mail.gmail.com>
From: Robert Hancock <hancockrwd@gmail.com>
Date: Tue, 16 Mar 2010 17:30:53 -0600
> In the meantime, I don't object to reverting the patch for now unless
> we get this sorted out quickly..
Yes if we can't sort this out soon, that's exactly what we should
do.
^ permalink raw reply
* [PATCH 3/3] netlink: fix unaligned access in nla_get_be64()
From: Pablo Neira Ayuso @ 2010-03-16 23:30 UTC (permalink / raw)
To: netdev; +Cc: kaber, davem
In-Reply-To: <20100316232247.4185.19426.stgit@decadence>
This patch fixes a unaligned access in nla_get_be64() that was
introduced by myself in a17c859849402315613a0015ac8fbf101acf0cc1.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/net/netlink.h | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/include/net/netlink.h b/include/net/netlink.h
index a63b219..668ad04 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -945,7 +945,11 @@ static inline u64 nla_get_u64(const struct nlattr *nla)
*/
static inline __be64 nla_get_be64(const struct nlattr *nla)
{
- return *(__be64 *) nla_data(nla);
+ __be64 tmp;
+
+ nla_memcpy(&tmp, nla, sizeof(tmp));
+
+ return tmp;
}
/**
^ permalink raw reply related
* Re: [Regression] r8169: enable 64-bit DMA by default for PCI Express devices (v2)
From: Robert Hancock @ 2010-03-16 23:30 UTC (permalink / raw)
To: Jörn Engel; +Cc: David Miller, torvalds, linux-kernel, netdev, romieu
In-Reply-To: <20100316083501.GA3489@Dublin.logfs.org>
On Tue, Mar 16, 2010 at 2:35 AM, Jörn Engel <joern@dublin.logfs.org> wrote:
> On Mon, 15 March 2010 17:28:45 -0600, Robert Hancock wrote:
>>
>> What are the symptoms?
>
> No more network. :)
>
> According to ifconfig the interface is up and running. If I read
> /sys/class/net/eth0 correctly, two packets have been sent and none
> received. LED on network card and switch is off. mii-tool is
> unhappy.
>
> With patch in:
> Bikini:~# mii-tool
> No MII transceiver present!.
>
> With patch reverted:
> Bikini:~# mii-tool
> eth0: negotiated 100baseTx-FD flow-control, link ok
>
> I just noticed lspci is also unhappy.
>
> With patch in:
> Bikini:~# lspci -vv > lspci
> pcilib: sysfs_read_vpd: read failed: Connection timed out.
>
> With patch reverted:
> Bikini:~# lspci -vv > lspci2
> Bikini:~# diff -u lspci*
> --- lspci 2010-03-16 09:03:02.000000000 +0100
> +++ lspci2 2010-03-16 09:09:36.000000000 +0100
> @@ -246,7 +246,7 @@
> Vector table: BAR=4 offset=00000000
> PBA: BAR=4 offset=00000800
> Capabilities: [cc] Vital Product Data
> - Not readable
> + Unknown small resource type 00, will not decode more.
> Capabilities: [100] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
>
> As you might expect, delta is part of the ethernet controller.
>
> All "With patch in" output above is typed off the screen. Beware of
> typos.
>
>> Does setting use_dac=0 in the module options
>> for r8169 also resolve the problem?
>
> /sys/modules/r8169 does not exist. How odd. Anyway, simply changing
> the default in r8169.c to 0 fixes the problems for me. Good call.
I can't really explain how the MII and lspci output is being
affected.. However, it's possible that some of the chips supported by
this driver don't actually support 64-bit DMA. Your chip is quite a
bit older than mine (RTL8102E seems to be one of the older, if not the
oldest, PCI-E chipset supported by the driver).
Francois, do you know if that's the case, or do you have any active
contacts at Realtek who can say?
In the meantime, I don't object to reverting the patch for now unless
we get this sorted out quickly..
>
>> Full dmesg and lspci -vv output might also be useful.
>
> Both with patch in:
> dmesg:
> [ 0.000000] Initializing cgroup subsys cpuset
> [ 0.000000] Initializing cgroup subsys cpu
> [ 0.000000] Linux version 2.6.33 (joern@Dublin) (gcc version 4.3.3 (Debian 4.3.3-3) ) #40 SMP Tue Mar 16 09:01:02 CET 2010
> [ 0.000000] Command line: vga=9 root=/dev/sda2 loglevel=9 netconsole=4444@192.168.0.39/eth0,6666@192.168.0.10/00:15:58:C5:ED:A8 BOOT_IMAGE=bzImage
> [ 0.000000] BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
> [ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
> [ 0.000000] BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
> [ 0.000000] BIOS-e820: 0000000000100000 - 00000000bf6b0000 (usable)
> [ 0.000000] BIOS-e820: 00000000bf6b0000 - 00000000bf6c0000 (ACPI data)
> [ 0.000000] BIOS-e820: 00000000bf6c0000 - 00000000bf6f0000 (ACPI NVS)
> [ 0.000000] BIOS-e820: 00000000bf6f0000 - 00000000bf700000 (reserved)
> [ 0.000000] BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
> [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
> [ 0.000000] BIOS-e820: 00000000ff380000 - 0000000100000000 (reserved)
> [ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
> [ 0.000000] NX (Execute Disable) protection: active
> [ 0.000000] DMI present.
> [ 0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
> [ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
> [ 0.000000] e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved)
> [ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
> [ 0.000000] No AGP bridge found
> [ 0.000000] last_pfn = 0x140000 max_arch_pfn = 0x400000000
> [ 0.000000] MTRR default type: uncachable
> [ 0.000000] MTRR fixed ranges enabled:
> [ 0.000000] 00000-9FFFF write-back
> [ 0.000000] A0000-BFFFF uncachable
> [ 0.000000] C0000-CBFFF write-protect
> [ 0.000000] CC000-DFFFF uncachable
> [ 0.000000] E0000-EFFFF write-through
> [ 0.000000] F0000-FFFFF write-protect
> [ 0.000000] MTRR variable ranges enabled:
> [ 0.000000] 0 base 000000000 mask F00000000 write-back
> [ 0.000000] 1 base 100000000 mask FC0000000 write-back
> [ 0.000000] 2 base 0C0000000 mask FC0000000 uncachable
> [ 0.000000] 3 base 0BF700000 mask FFFF00000 uncachable
> [ 0.000000] 4 base 0BF800000 mask FFF800000 uncachable
> [ 0.000000] 5 disabled
> [ 0.000000] 6 disabled
> [ 0.000000] 7 disabled
> [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
> [ 0.000000] e820 update range: 00000000bf700000 - 0000000100000000 (usable) ==> (reserved)
> [ 0.000000] last_pfn = 0xbf6b0 max_arch_pfn = 0x400000000
> [ 0.000000] initial memory mapped : 0 - 20000000
> [ 0.000000] found SMP MP-table at [ffff8800000ff780] ff780
> [ 0.000000] init_memory_mapping: 0000000000000000-00000000bf6b0000
> [ 0.000000] 0000000000 - 00bf600000 page 2M
> [ 0.000000] 00bf600000 - 00bf6b0000 page 4k
> [ 0.000000] kernel direct mapping tables up to bf6b0000 @ 16000-1b000
> [ 0.000000] init_memory_mapping: 0000000100000000-0000000140000000
> [ 0.000000] 0100000000 - 0140000000 page 2M
> [ 0.000000] kernel direct mapping tables up to 140000000 @ 19000-1f000
> [ 0.000000] ACPI: RSDP 00000000000f9f60 00014 (v00 ACPIAM)
> [ 0.000000] ACPI: RSDT 00000000bf6b0000 00040 (v01 040209 RSDT1650 20090402 MSFT 00000097)
> [ 0.000000] ACPI: FACP 00000000bf6b0200 00084 (v01 A_M_I OEMFACP 12000601 MSFT 00000097)
> [ 0.000000] ACPI: DSDT 00000000bf6b0440 05779 (v01 AS153 AS153151 00000151 INTL 20051117)
> [ 0.000000] ACPI: FACS 00000000bf6c0000 00040
> [ 0.000000] ACPI: APIC 00000000bf6b0390 0006C (v01 040209 APIC1650 20090402 MSFT 00000097)
> [ 0.000000] ACPI: MCFG 00000000bf6b0400 0003C (v01 040209 OEMMCFG 20090402 MSFT 00000097)
> [ 0.000000] ACPI: OEMB 00000000bf6c0040 00071 (v01 040209 OEMB1650 20090402 MSFT 00000097)
> [ 0.000000] ACPI: AAFT 00000000bf6b5bc0 00027 (v01 040209 OEMAAFT 20090402 MSFT 00000097)
> [ 0.000000] ACPI: GSCI 00000000bf6c00c0 02024 (v01 040209 GMCHSCI 20090402 MSFT 00000097)
> [ 0.000000] ACPI: SSDT 00000000bf6c2a10 00A7C (v01 DpgPmm CpuPm 00000012 INTL 20051117)
> [ 0.000000] ACPI: Local APIC address 0xfee00000
> [ 0.000000] No NUMA configuration found
> [ 0.000000] Faking a node at 0000000000000000-0000000140000000
> [ 0.000000] Initmem setup node 0 0000000000000000-0000000140000000
> [ 0.000000] NODE_DATA [0000000100000000 - 0000000100004fff]
> [ 0.000000] [ffffea0000000000-ffffea00045fffff] PMD -> [ffff880100200000-ffff8801039fffff] on node 0
> [ 0.000000] Zone PFN ranges:
> [ 0.000000] DMA 0x00000010 -> 0x00001000
> [ 0.000000] DMA32 0x00001000 -> 0x00100000
> [ 0.000000] Normal 0x00100000 -> 0x00140000
> [ 0.000000] Movable zone start PFN for each node
> [ 0.000000] early_node_map[3] active PFN ranges
> [ 0.000000] 0: 0x00000010 -> 0x0000009f
> [ 0.000000] 0: 0x00000100 -> 0x000bf6b0
> [ 0.000000] 0: 0x00100000 -> 0x00140000
> [ 0.000000] On node 0 totalpages: 1046079
> [ 0.000000] DMA zone: 56 pages used for memmap
> [ 0.000000] DMA zone: 0 pages reserved
> [ 0.000000] DMA zone: 3927 pages, LIFO batch:0
> [ 0.000000] DMA32 zone: 14280 pages used for memmap
> [ 0.000000] DMA32 zone: 765672 pages, LIFO batch:31
> [ 0.000000] Normal zone: 3584 pages used for memmap
> [ 0.000000] Normal zone: 258560 pages, LIFO batch:31
> [ 0.000000] ACPI: PM-Timer IO Port: 0x808
> [ 0.000000] ACPI: Local APIC address 0xfee00000
> [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
> [ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
> [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
> [ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
> [ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
> [ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> [ 0.000000] ACPI: IRQ0 used by override.
> [ 0.000000] ACPI: IRQ2 used by override.
> [ 0.000000] ACPI: IRQ9 used by override.
> [ 0.000000] Using ACPI (MADT) for SMP configuration information
> [ 0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs
> [ 0.000000] nr_irqs_gsi: 24
> [ 0.000000] early_res array is doubled to 64 at [1a000 - 1a7ff]
> [ 0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
> [ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000e6000
> [ 0.000000] PM: Registered nosave memory: 00000000000e6000 - 0000000000100000
> [ 0.000000] PM: Registered nosave memory: 00000000bf6b0000 - 00000000bf6c0000
> [ 0.000000] PM: Registered nosave memory: 00000000bf6c0000 - 00000000bf6f0000
> [ 0.000000] PM: Registered nosave memory: 00000000bf6f0000 - 00000000bf700000
> [ 0.000000] PM: Registered nosave memory: 00000000bf700000 - 00000000fed00000
> [ 0.000000] PM: Registered nosave memory: 00000000fed00000 - 00000000fee00000
> [ 0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
> [ 0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000ff380000
> [ 0.000000] PM: Registered nosave memory: 00000000ff380000 - 0000000100000000
> [ 0.000000] Allocating PCI resources starting at bf700000 (gap: bf700000:3f600000)
> [ 0.000000] Booting paravirtualized kernel on bare hardware
> [ 0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1
> [ 0.000000] PERCPU: Embedded 476 pages/cpu @ffff880002600000 s1918952 r8192 d22552 u2097152
> [ 0.000000] pcpu-alloc: s1918952 r8192 d22552 u2097152 alloc=1*2097152
> [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
> [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 1028159
> [ 0.000000] Policy zone: Normal
> [ 0.000000] Kernel command line: vga=9 root=/dev/sda2 loglevel=9 netconsole=4444@192.168.0.39/eth0,6666@192.168.0.10/00:15:58:C5:ED:A8 BOOT_IMAGE=bzImage
> [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
> [ 0.000000] xsave/xrstor: enabled xstate_bv 0x3, cntxt size 0x240
> [ 0.000000] Checking aperture...
> [ 0.000000] No AGP bridge found
> [ 0.000000] Calgary: detecting Calgary via BIOS EBDA area
> [ 0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
> [ 0.000000] Subtract (56 early reservations)
> [ 0.000000] #1 [0001000000 - 000241a810] TEXT DATA BSS
> [ 0.000000] #2 [000241b000 - 000241b12b] BRK
> [ 0.000000] #3 [00000ff790 - 0000100000] BIOS reserved
> [ 0.000000] #4 [00000ff780 - 00000ff790] MP-table mpf
> [ 0.000000] #5 [000009e400 - 00000fcc20] BIOS reserved
> [ 0.000000] #6 [00000fcd5c - 00000ff780] BIOS reserved
> [ 0.000000] #7 [00000fcc20 - 00000fcd5c] MP-table mpc
> [ 0.000000] #8 [0000010000 - 0000012000] TRAMPOLINE
> [ 0.000000] #9 [0000012000 - 0000016000] ACPI WAKEUP
> [ 0.000000] #10 [0000016000 - 0000019000] PGTABLE
> [ 0.000000] #11 [0000019000 - 000001a000] PGTABLE
> [ 0.000000] #12 [0100000000 - 0100005000] NODE_DATA
> [ 0.000000] #13 [000241b140 - 000241c140] BOOTMEM
> [ 0.000000] #14 [000241a840 - 000241ab40] BOOTMEM
> [ 0.000000] #15 [0100005000 - 0100006000] BOOTMEM
> [ 0.000000] #16 [0100006000 - 0100007000] BOOTMEM
> [ 0.000000] #17 [0100200000 - 0103a00000] MEMMAP 0
> [ 0.000000] #18 [000241c140 - 000241c640] BOOTMEM
> [ 0.000000] #19 [000241c640 - 000246c640] BOOTMEM
> [ 0.000000] #20 [000246c640 - 0002480640] BOOTMEM
> [ 0.000000] #21 [0002481000 - 0002482000] BOOTMEM
> [ 0.000000] #22 [000241ab40 - 000241ab83] BOOTMEM
> [ 0.000000] #23 [000241abc0 - 000241ae60] BOOTMEM
> [ 0.000000] #24 [000241ae80 - 000241aee8] BOOTMEM
> [ 0.000000] #25 [000241af00 - 000241af68] BOOTMEM
> [ 0.000000] #26 [000241af80 - 000241afe8] BOOTMEM
> [ 0.000000] #27 [0002480640 - 00024806a8] BOOTMEM
> [ 0.000000] #28 [00024806c0 - 0002480728] BOOTMEM
> [ 0.000000] #29 [0002480740 - 00024807a8] BOOTMEM
> [ 0.000000] #30 [00024807c0 - 0002480828] BOOTMEM
> [ 0.000000] #31 [0002480840 - 00024808a8] BOOTMEM
> [ 0.000000] #32 [00024808c0 - 0002480928] BOOTMEM
> [ 0.000000] #33 [0002480940 - 00024809a8] BOOTMEM
> [ 0.000000] #34 [00024809c0 - 0002480a28] BOOTMEM
> [ 0.000000] #35 [0002480a40 - 0002480a60] BOOTMEM
> [ 0.000000] #36 [0002480a80 - 0002480aa0] BOOTMEM
> [ 0.000000] #37 [0002480ac0 - 0002480b3a] BOOTMEM
> [ 0.000000] #38 [0002480b40 - 0002480bba] BOOTMEM
> [ 0.000000] #39 [0002600000 - 00027dc000] BOOTMEM
> [ 0.000000] #40 [0002800000 - 00029dc000] BOOTMEM
> [ 0.000000] #41 [0002a00000 - 0002bdc000] BOOTMEM
> [ 0.000000] #42 [0002c00000 - 0002ddc000] BOOTMEM
> [ 0.000000] #43 [0002480bc0 - 0002480bc8] BOOTMEM
> [ 0.000000] #44 [0002480c00 - 0002480c08] BOOTMEM
> [ 0.000000] #45 [0002480c40 - 0002480c50] BOOTMEM
> [ 0.000000] #46 [0002480c80 - 0002480ca0] BOOTMEM
> [ 0.000000] #47 [0002480cc0 - 0002480e10] BOOTMEM
> [ 0.000000] #48 [0002480e40 - 0002480ec0] BOOTMEM
> [ 0.000000] #49 [0002480ec0 - 0002480f40] BOOTMEM
> [ 0.000000] #50 [0002482000 - 000248a000] BOOTMEM
> [ 0.000000] #51 [000248a000 - 000248a240] BOOTMEM
> [ 0.000000] #52 [0002ddc000 - 0006ddc000] BOOTMEM
> [ 0.000000] #53 [000248a240 - 00024aa240] BOOTMEM
> [ 0.000000] #54 [00024aa240 - 00024ea240] BOOTMEM
> [ 0.000000] #55 [000001a800 - 0000022800] BOOTMEM
> [ 0.000000] 23 40 - 80 9e
> [ 0.000000] 100 100 - 1000 1000
> [ 0.000000] 24eb 2500 - 2600 2600
> [ 0.000000] 27dc - 2800
> [ 0.000000] 29dc - 2a00
> [ 0.000000] 2bdc - 2c00
> [ 0.000000] 6ddc 6e00 - bf680 bf6b0
> [ 0.000000] 100007 100040 - 100200 100200
> [ 0.000000] 103a00 103a00 - 140000 140000
> [ 0.000000] Memory: 4032292k/5242880k available (3411k kernel code, 1058564k absent, 152024k reserved, 3689k data, 2556k init)
> [ 0.000000] Hierarchical RCU implementation.
> [ 0.000000] NR_IRQS:1280
> [ 0.000000] Console: colour dummy device 80x25
> [ 0.000000] console [tty0] enabled
> [ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
> [ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
> [ 0.000000] ... MAX_LOCK_DEPTH: 48
> [ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
> [ 0.000000] ... CLASSHASH_SIZE: 4096
> [ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
> [ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
> [ 0.000000] ... CHAINHASH_SIZE: 16384
> [ 0.000000] memory used by lock dependency info: 6367 kB
> [ 0.000000] per task-struct memory footprint: 2688 bytes
> [ 0.000000] ODEBUG: 11 of 11 active objects replaced
> [ 0.000000] Fast TSC calibration using PIT
> [ 0.000000] Detected 2880.133 MHz processor.
> [ 0.004030] Calibrating delay loop (skipped), value calculated using timer frequency.. 5760.26 BogoMIPS (lpj=11520532)
> [ 0.004700] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
> [ 0.008489] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
> [ 0.009422] Mount-cache hash table entries: 256
> [ 0.010361] Initializing cgroup subsys ns
> [ 0.010368] Initializing cgroup subsys cpuacct
> [ 0.010382] Initializing cgroup subsys devices
> [ 0.010479] CPU: Physical Processor ID: 0
> [ 0.010483] CPU: Processor Core ID: 0
> [ 0.010488] mce: CPU supports 6 MCE banks
> [ 0.010496] CPU0: Thermal monitoring enabled (TM2)
> [ 0.010506] using mwait in idle threads.
> [ 0.010510] Performance Events: Core2 events, Intel PMU driver.
> [ 0.010524] ... version: 2
> [ 0.010527] ... bit width: 40
> [ 0.010530] ... generic registers: 2
> [ 0.010534] ... value mask: 000000ffffffffff
> [ 0.010538] ... max period: 000000007fffffff
> [ 0.010541] ... fixed-purpose events: 3
> [ 0.010544] ... event mask: 0000000700000003
> [ 0.011517] ACPI: Core revision 20100121
> [ 0.028016] ftrace: converting mcount calls to 0f 1f 44 00 00
> [ 0.028024] ftrace: allocating 14208 entries in 56 pages
> [ 0.032154] Setting APIC routing to flat
> [ 0.032565] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> [ 0.075613] CPU0: Intel Pentium(R) Dual-Core CPU E5200 @ 2.50GHz stepping 0a
> [ 0.076000] lockdep: fixing up alternatives.
> [ 0.076000] Booting Node 0, Processors #1
> [ 0.164047] Brought up 2 CPUs
> [ 0.164054] Total of 2 processors activated (11519.94 BogoMIPS).
> [ 0.164753] khelper used greatest stack depth: 5888 bytes left
> [ 0.164753] NET: Registered protocol family 16
> [ 0.164753] ACPI: bus type pci registered
> [ 0.164753] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
> [ 0.164753] PCI: not using MMCONFIG
> [ 0.164753] PCI: Using configuration type 1 for base access
> [ 0.164753] khelper used greatest stack depth: 5808 bytes left
> [ 0.172140] bio: create slab <bio-0> at 0
> [ 0.182217] ACPI: EC: Look up EC in DSDT
> [ 0.190712] ACPI: Executed 1 blocks of module-level executable AML code
> [ 0.205132] ACPI: Interpreter enabled
> [ 0.205137] ACPI: (supports S0 S1 S3 S4 S5)
> [ 0.205224] ACPI: Using IOAPIC for interrupt routing
> [ 0.205312] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
> [ 0.212093] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
> [ 0.328031] ACPI: No dock devices found.
> [ 0.328040] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
> [ 0.328755] ACPI: PCI Root Bridge [PCI0] (0000:00)
> [ 0.328991] pci_root PNP0A08:00: host bridge window [io 0x0000-0x0cf7]
> [ 0.328991] pci_root PNP0A08:00: host bridge window [io 0x0d00-0xffff]
> [ 0.328991] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x000bffff]
> [ 0.328991] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x000dffff]
> [ 0.328991] pci_root PNP0A08:00: host bridge window [mem 0xbf700000-0xdfffffff]
> [ 0.328991] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0xffffffff]
> [ 0.328991] pci 0000:00:02.0: reg 10: [mem 0xfea80000-0xfeafffff]
> [ 0.328991] pci 0000:00:02.0: reg 14: [io 0xdc00-0xdc07]
> [ 0.328991] pci 0000:00:02.0: reg 18: [mem 0xd0000000-0xdfffffff pref]
> [ 0.328991] pci 0000:00:02.0: reg 1c: [mem 0xfe900000-0xfe9fffff]
> [ 0.328991] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
> [ 0.328991] pci 0000:00:1c.0: PME# disabled
> [ 0.329041] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
> [ 0.329049] pci 0000:00:1c.1: PME# disabled
> [ 0.329129] pci 0000:00:1d.0: reg 20: [io 0xd400-0xd41f]
> [ 0.329208] pci 0000:00:1d.1: reg 20: [io 0xd480-0xd49f]
> [ 0.329286] pci 0000:00:1d.2: reg 20: [io 0xd800-0xd81f]
> [ 0.329366] pci 0000:00:1d.3: reg 20: [io 0xd880-0xd89f]
> [ 0.329442] pci 0000:00:1d.7: reg 10: [mem 0xfea77c00-0xfea77fff]
> [ 0.329522] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
> [ 0.329530] pci 0000:00:1d.7: PME# disabled
> [ 0.329726] pci 0000:00:1f.0: Force enabled HPET at 0xfed00000
> [ 0.329735] pci 0000:00:1f.0: quirk: [io 0x0800-0x087f] claimed by ICH6 ACPI/GPIO/TCO
> [ 0.329743] pci 0000:00:1f.0: quirk: [io 0x0480-0x04bf] claimed by ICH6 GPIO
> [ 0.329750] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0280 (mask 00ff)
> [ 0.329758] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0300 (mask 003f)
> [ 0.329824] pci 0000:00:1f.1: reg 10: [io 0x0000-0x0007]
> [ 0.329835] pci 0000:00:1f.1: reg 14: [io 0x0000-0x0003]
> [ 0.329846] pci 0000:00:1f.1: reg 18: [io 0x08f0-0x08f7]
> [ 0.329856] pci 0000:00:1f.1: reg 1c: [io 0x08f8-0x08fb]
> [ 0.329867] pci 0000:00:1f.1: reg 20: [io 0xffa0-0xffaf]
> [ 0.329928] pci 0000:00:1f.2: reg 10: [io 0xd080-0xd087]
> [ 0.329938] pci 0000:00:1f.2: reg 14: [io 0xd000-0xd003]
> [ 0.329948] pci 0000:00:1f.2: reg 18: [io 0xcc00-0xcc07]
> [ 0.329958] pci 0000:00:1f.2: reg 1c: [io 0xc880-0xc883]
> [ 0.329968] pci 0000:00:1f.2: reg 20: [io 0xc800-0xc80f]
> [ 0.330010] pci 0000:00:1f.2: PME# supported from D3hot
> [ 0.330016] pci 0000:00:1f.2: PME# disabled
> [ 0.330085] pci 0000:00:1f.3: reg 20: [io 0x0400-0x041f]
> [ 0.330192] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
> [ 0.330199] pci 0000:00:1c.0: bridge window [io f000 - 0000] reg reading
> [ 0.330207] pci 0000:00:1c.0: bridge window [mem 0xfff00000 - 0x000fffff] reg reading
> [ 0.330219] pci 0000:00:1c.0: bridge window [mem 0xfdf00000-0xfdffffff 64bit pref]
> [ 0.330329] pci 0000:01:00.0: reg 10: [io 0xe800-0xe8ff]
> [ 0.330359] pci 0000:01:00.0: reg 18: [mem 0xfdeff000-0xfdefffff 64bit pref]
> [ 0.330381] pci 0000:01:00.0: reg 20: [mem 0xfdee0000-0xfdeeffff 64bit pref]
> [ 0.330395] pci 0000:01:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
> [ 0.330454] pci 0000:01:00.0: supports D1 D2
> [ 0.330458] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 0.330467] pci 0000:01:00.0: PME# disabled
> [ 0.330500] pci 0000:00:1c.1: PCI bridge to [bus 01-01]
> [ 0.330507] pci 0000:00:1c.1: bridge window [io 0xe000-0xefff]
> [ 0.330515] pci 0000:00:1c.1: bridge window [mem 0xfeb00000-0xfebfffff]
> [ 0.330526] pci 0000:00:1c.1: bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
> [ 0.330638] pci 0000:00:1e.0: PCI bridge to [bus 03-03] (subtractive decode)
> [ 0.330646] pci 0000:00:1e.0: bridge window [io f000 - 0000] reg reading
> [ 0.330654] pci 0000:00:1e.0: bridge window [mem 0xfff00000 - 0x000fffff] reg reading
> [ 0.330666] pci 0000:00:1e.0: bridge window [mem 0xfff00000 - 000fffff pref] reg reading
> [ 0.330672] pci 0000:00:1e.0: bridge window [io 0x0000-0x0cf7] (subtractive decode)
> [ 0.330678] pci 0000:00:1e.0: bridge window [io 0x0d00-0xffff] (subtractive decode)
> [ 0.330683] pci 0000:00:1e.0: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
> [ 0.330690] pci 0000:00:1e.0: bridge window [mem 0x000d0000-0x000dffff] (subtractive decode)
> [ 0.330696] pci 0000:00:1e.0: bridge window [mem 0xbf700000-0xdfffffff] (subtractive decode)
> [ 0.330702] pci 0000:00:1e.0: bridge window [mem 0xf0000000-0xffffffff] (subtractive decode)
> [ 0.330733] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> [ 0.332114] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
> [ 0.332536] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]
> [ 0.332681] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P5._PRT]
> [ 0.357702] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15)
> [ 0.357702] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15)
> [ 0.357702] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 *7 10 11 12 14 15)
> [ 0.357702] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 6 7 10 11 12 14 15)
> [ 0.357702] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
> [ 0.357702] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
> [ 0.357702] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
> [ 0.357702] ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 5 6 7 10 11 12 14 15)
> [ 0.360218] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
> [ 0.360218] vgaarb: loaded
> [ 0.360347] SCSI subsystem initialized
> [ 0.360347] libata version 3.00 loaded.
> [ 0.360347] usbcore: registered new interface driver usbfs
> [ 0.360347] usbcore: registered new interface driver hub
> [ 0.360347] usbcore: registered new device driver usb
> [ 0.360347] PCI: Using ACPI for IRQ routing
> [ 0.360347] PCI: pci_cache_line_size set to 64 bytes
> [ 0.360347] reserve RAM buffer: 000000000009f800 - 000000000009ffff
> [ 0.360347] reserve RAM buffer: 00000000bf6b0000 - 00000000bfffffff
> [ 0.360347] hpet clockevent registered
> [ 0.360347] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
> [ 0.360347] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
> [ 0.360347] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
> [ 0.372049] Switching to clocksource tsc
> [ 0.378630] pnp: PnP ACPI init
> [ 0.378664] ACPI: bus type pnp registered
> [ 0.386324] pnp: PnP ACPI: found 13 devices
> [ 0.386329] ACPI: ACPI bus type pnp unregistered
> [ 0.386350] system 00:01: [mem 0xfed14000-0xfed19fff] has been reserved
> [ 0.386369] system 00:06: [io 0x04d0-0x04d1] has been reserved
> [ 0.386375] system 00:06: [io 0x0800-0x087f] has been reserved
> [ 0.386380] system 00:06: [io 0x0480-0x04bf] has been reserved
> [ 0.386385] system 00:06: [io 0x0900-0x090f] has been reserved
> [ 0.386391] system 00:06: [mem 0xfed1c000-0xfed1ffff] has been reserved
> [ 0.386396] system 00:06: [mem 0xfed20000-0xfed8ffff] has been reserved
> [ 0.386412] system 00:08: [mem 0xffc00000-0xfff7ffff] has been reserved
> [ 0.386432] system 00:09: [mem 0xfec00000-0xfec00fff] could not be reserved
> [ 0.386438] system 00:09: [mem 0xfee00000-0xfee00fff] has been reserved
> [ 0.386453] system 00:0a: [io 0x0290-0x029f] has been reserved
> [ 0.386467] system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
> [ 0.386483] system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
> [ 0.386489] system 00:0c: [mem 0x000c0000-0x000cffff] has been reserved
> [ 0.386496] system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
> [ 0.386503] system 00:0c: [mem 0x00100000-0xbf6fffff] could not be reserved
> [ 0.392112] PCI: max bus depth: 1 pci_try_num: 2
> [ 0.392155] pci 0000:00:1c.0: BAR 8: assigned [mem 0xbf700000-0xbfafffff]
> [ 0.392163] pci 0000:00:1c.0: BAR 7: assigned [io 0x1000-0x1fff]
> [ 0.392168] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
> [ 0.392174] pci 0000:00:1c.0: bridge window [io 0x1000-0x1fff]
> [ 0.392183] pci 0000:00:1c.0: bridge window [mem 0xbf700000-0xbfafffff]
> [ 0.392191] pci 0000:00:1c.0: bridge window [mem 0xfdf00000-0xfdffffff 64bit pref]
> [ 0.392204] pci 0000:01:00.0: BAR 6: assigned [mem 0xfde00000-0xfde1ffff pref]
> [ 0.392210] pci 0000:00:1c.1: PCI bridge to [bus 01-01]
> [ 0.392216] pci 0000:00:1c.1: bridge window [io 0xe000-0xefff]
> [ 0.392225] pci 0000:00:1c.1: bridge window [mem 0xfeb00000-0xfebfffff]
> [ 0.392232] pci 0000:00:1c.1: bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
> [ 0.392244] pci 0000:00:1e.0: PCI bridge to [bus 03-03]
> [ 0.392248] pci 0000:00:1e.0: bridge window [io disabled]
> [ 0.392257] pci 0000:00:1e.0: bridge window [mem disabled]
> [ 0.392264] pci 0000:00:1e.0: bridge window [mem pref disabled]
> [ 0.392284] pci 0000:00:1c.0: enabling device (0106 -> 0107)
> [ 0.392299] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [ 0.392307] pci 0000:00:1c.0: setting latency timer to 64
> [ 0.392325] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> [ 0.392333] pci 0000:00:1c.1: setting latency timer to 64
> [ 0.392345] pci 0000:00:1e.0: setting latency timer to 64
> [ 0.392351] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7]
> [ 0.392355] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff]
> [ 0.392359] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
> [ 0.392364] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
> [ 0.392368] pci_bus 0000:00: resource 8 [mem 0xbf700000-0xdfffffff]
> [ 0.392372] pci_bus 0000:00: resource 9 [mem 0xf0000000-0xffffffff]
> [ 0.392377] pci_bus 0000:02: resource 0 [io 0x1000-0x1fff]
> [ 0.392381] pci_bus 0000:02: resource 1 [mem 0xbf700000-0xbfafffff]
> [ 0.392385] pci_bus 0000:02: resource 2 [mem 0xfdf00000-0xfdffffff 64bit pref]
> [ 0.392391] pci_bus 0000:01: resource 0 [io 0xe000-0xefff]
> [ 0.392395] pci_bus 0000:01: resource 1 [mem 0xfeb00000-0xfebfffff]
> [ 0.392399] pci_bus 0000:01: resource 2 [mem 0xfde00000-0xfdefffff 64bit pref]
> [ 0.392405] pci_bus 0000:03: resource 4 [io 0x0000-0x0cf7]
> [ 0.392409] pci_bus 0000:03: resource 5 [io 0x0d00-0xffff]
> [ 0.392413] pci_bus 0000:03: resource 6 [mem 0x000a0000-0x000bffff]
> [ 0.392417] pci_bus 0000:03: resource 7 [mem 0x000d0000-0x000dffff]
> [ 0.392422] pci_bus 0000:03: resource 8 [mem 0xbf700000-0xdfffffff]
> [ 0.392426] pci_bus 0000:03: resource 9 [mem 0xf0000000-0xffffffff]
> [ 0.392542] NET: Registered protocol family 2
> [ 0.392892] IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
> [ 0.394859] TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
> [ 0.398800] TCP bind hash table entries: 65536 (order: 10, 4718592 bytes)
> [ 0.404716] TCP: Hash tables configured (established 524288 bind 65536)
> [ 0.404775] TCP reno registered
> [ 0.404833] UDP hash table entries: 2048 (order: 6, 327680 bytes)
> [ 0.405251] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes)
> [ 0.405946] NET: Registered protocol family 1
> [ 0.405987] pci 0000:00:02.0: Boot video device
> [ 0.406165] PCI: CLS 32 bytes, default 64
> [ 0.417956] DMA-API: preallocated 32768 debug entries
> [ 0.417965] DMA-API: debugging enabled by kernel config
> [ 0.417971] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
> [ 0.417977] Placing 64MB software IO TLB between ffff880002ddc000 - ffff880006ddc000
> [ 0.417983] software IO TLB at phys 0x2ddc000 - 0x6ddc000
> [ 0.420717] audit: initializing netlink socket (disabled)
> [ 0.420763] type=2000 audit(1268726481.419:1): initialized
> [ 0.421241] HugeTLB registered 2 MB page size, pre-allocated 0 pages
> [ 0.421938] msgmni has been set to 7875
> [ 0.422898] cryptomgr_test used greatest stack depth: 5352 bytes left
> [ 0.422962] alg: No test for stdrng (krng)
> [ 0.423105] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
> [ 0.423124] io scheduler noop registered
> [ 0.423128] io scheduler deadline registered
> [ 0.423160] io scheduler cfq registered (default)
> [ 0.423484] pcieport 0000:00:1c.0: setting latency timer to 64
> [ 0.423551] pcieport 0000:00:1c.0: irq 24 for MSI/MSI-X
> [ 0.424181] pcieport 0000:00:1c.1: setting latency timer to 64
> [ 0.424244] pcieport 0000:00:1c.1: irq 25 for MSI/MSI-X
> [ 0.426515] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90011580000, using 3750k, total 8128k
> [ 0.426522] vesafb: mode is 1600x1200x8, linelength=1600, pages=3
> [ 0.426526] vesafb: scrolling: redraw
> [ 0.426529] vesafb: Pseudocolor: size=8:8:8:8, shift=0:0:0:0
> [ 0.444667] Console: switching to colour frame buffer device 200x75
> [ 0.462236] fb0: VESA VGA frame buffer device
> [ 0.463660] ACPI: SSDT 00000000bf6c20f0 00277 (v01 DpgPmm P001Ist 00000011 INTL 20051117)
> [ 0.466926] ACPI: SSDT 00000000bf6c2580 00277 (v01 DpgPmm P002Ist 00000012 INTL 20051117)
> [ 0.484133] intel_rng: FWH not detected
> [ 0.484265] Linux agpgart interface v0.103
> [ 0.484463] agpgart-intel 0000:00:00.0: Intel G33 Chipset
> [ 0.485627] agpgart-intel 0000:00:00.0: detected 7164K stolen memory
> [ 0.495395] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
> [ 0.495610] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [ 0.501851] brd: module loaded
> [ 0.504130] loop: module loaded
> [ 0.504466] ata_piix 0000:00:1f.1: version 2.13
> [ 0.504554] ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
> [ 0.504747] ata_piix 0000:00:1f.1: setting latency timer to 64
> [ 0.504984] scsi0 : ata_piix
> [ 0.505336] scsi1 : ata_piix
> [ 0.510141] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
> [ 0.510238] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
> [ 0.510394] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
> [ 0.510496] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
> [ 0.510645] ata_piix 0000:00:1f.2: setting latency timer to 64
> [ 0.510829] scsi2 : ata_piix
> [ 0.511214] scsi3 : ata_piix
> [ 0.516880] ata3: SATA max UDMA/133 cmd 0xd080 ctl 0xd000 bmdma 0xc800 irq 19
> [ 0.516979] ata4: SATA max UDMA/133 cmd 0xcc00 ctl 0xc880 bmdma 0xc808 irq 19
> [ 0.517340] tun: Universal TUN/TAP device driver, 1.6
> [ 0.517411] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> [ 0.517634] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> [ 0.517731] r8169 0000:01:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> [ 0.517853] r8169 0000:01:00.0: (unregistered net_device): using 64-bit DMA
> [ 0.517975] r8169 0000:01:00.0: setting latency timer to 64
> [ 0.518121] r8169 0000:01:00.0: irq 26 for MSI/MSI-X
> [ 0.518411] khelper used greatest stack depth: 5136 bytes left
> [ 0.518989] r8169 0000:01:00.0: eth0: RTL8102e at 0xffffc9000063e000, 00:19:66:ca:2c:7f, XID 04a00000 IRQ 26
> [ 0.521192] netconsole: local port 4444
> [ 0.521247] netconsole: local IP 192.168.0.39
> [ 0.521307] netconsole: interface eth0
> [ 0.521359] netconsole: remote port 6666
> [ 0.521413] netconsole: remote IP 192.168.0.10
> [ 0.521475] netconsole: remote ethernet address 00:15:58:c5:ed:a8
> [ 0.521564] netconsole: device eth0 not up yet, forcing it
> [ 0.523389] r8169 0000:01:00.0: eth0: link down
> [ 0.523453] r8169 0000:01:00.0: eth0: link down
> [ 0.683957] ata4.00: ATA-7: INTEL SSDSA2M040G2GC, 2CV102HB, max UDMA/133
> [ 0.684071] ata4.00: 78165360 sectors, multi 16: LBA48 NCQ (depth 0/32)
> [ 0.691795] ata4.00: configured for UDMA/133
> [ 0.699881] ata3.00: ATA-8: Hitachi HDT721025SLA380, STBOA31B, max UDMA/133
> [ 0.699997] ata3.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 0/32)
> [ 0.715852] ata3.00: configured for UDMA/133
> [ 0.716480] scsi 2:0:0:0: Direct-Access ATA Hitachi HDT72102 STBO PQ: 0 ANSI: 5
> [ 0.720035] sd 2:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
> [ 0.720618] scsi 3:0:0:0: Direct-Access ATA INTEL SSDSA2M040 2CV1 PQ: 0 ANSI: 5
> [ 0.721050] sd 3:0:0:0: [sdb] 78165360 512-byte logical blocks: (40.0 GB/37.2 GiB)
> [ 0.721222] sd 3:0:0:0: [sdb] Write Protect is off
> [ 0.721224] sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
> [ 0.721293] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [ 0.721833] sdb: unknown partition table
> [ 0.742050] sd 2:0:0:0: [sda] Write Protect is off
> [ 0.742549] sd 3:0:0:0: [sdb] Attached SCSI disk
> [ 0.748771] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [ 0.752242] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [ 0.756154] sda: sda1 sda2 sda3
> [ 0.780333] sd 2:0:0:0: [sda] Attached SCSI disk
> [ 1.736062] async/3 used greatest stack depth: 4776 bytes left
> [ 1.739753] async/2 used greatest stack depth: 4720 bytes left
> [ 4.528033] netconsole: timeout waiting for carrier
> [ 6.156819] console [netcon0] enabled
> [ 6.156820] netconsole: network logging started
> [ 6.157229] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [ 6.157286] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
> [ 6.157320] ehci_hcd 0000:00:1d.7: setting latency timer to 64
> [ 6.157324] ehci_hcd 0000:00:1d.7: EHCI Host Controller
> [ 6.157793] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
> [ 6.157860] ehci_hcd 0000:00:1d.7: using broken periodic workaround
> [ 6.157874] ehci_hcd 0000:00:1d.7: debug port 1
> [ 6.161767] ehci_hcd 0000:00:1d.7: cache line size of 32 is not supported
> [ 6.161803] ehci_hcd 0000:00:1d.7: irq 23, io mem 0xfea77c00
> [ 6.176032] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
> [ 6.176180] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> [ 6.176182] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 6.176183] usb usb1: Product: EHCI Host Controller
> [ 6.176184] usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
> [ 6.176185] usb usb1: SerialNumber: 0000:00:1d.7
> [ 6.176831] hub 1-0:1.0: USB hub found
> [ 6.176860] hub 1-0:1.0: 8 ports detected
> [ 6.177512] uhci_hcd: USB Universal Host Controller Interface driver
> [ 6.202365] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
> [ 6.202374] uhci_hcd 0000:00:1d.0: setting latency timer to 64
> [ 6.202378] uhci_hcd 0000:00:1d.0: UHCI Host Controller
> [ 6.202540] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
> [ 6.202575] uhci_hcd 0000:00:1d.0: irq 23, io base 0x0000d400
> [ 6.202667] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
> [ 6.202669] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 6.202671] usb usb2: Product: UHCI Host Controller
> [ 6.202672] usb usb2: Manufacturer: Linux 2.6.33 uhci_hcd
> [ 6.202673] usb usb2: SerialNumber: 0000:00:1d.0
> [ 6.202988] hub 2-0:1.0: USB hub found
> [ 6.203030] hub 2-0:1.0: 2 ports detected
> [ 6.203335] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
> [ 6.203344] uhci_hcd 0000:00:1d.1: setting latency timer to 64
> [ 6.203347] uhci_hcd 0000:00:1d.1: UHCI Host Controller
> [ 6.203508] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
> [ 6.203544] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000d480
> [ 6.203639] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
> [ 6.203641] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 6.203642] usb usb3: Product: UHCI Host Controller
> [ 6.203643] usb usb3: Manufacturer: Linux 2.6.33 uhci_hcd
> [ 6.203645] usb usb3: SerialNumber: 0000:00:1d.1
> [ 6.203962] hub 3-0:1.0: USB hub found
> [ 6.203974] hub 3-0:1.0: 2 ports detected
> [ 6.204275] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
> [ 6.204284] uhci_hcd 0000:00:1d.2: setting latency timer to 64
> [ 6.204287] uhci_hcd 0000:00:1d.2: UHCI Host Controller
> [ 6.204447] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
> [ 6.204499] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000d800
> [ 6.204595] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
> [ 6.204597] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 6.204599] usb usb4: Product: UHCI Host Controller
> [ 6.204600] usb usb4: Manufacturer: Linux 2.6.33 uhci_hcd
> [ 6.204601] usb usb4: SerialNumber: 0000:00:1d.2
> [ 6.204978] hub 4-0:1.0: USB hub found
> [ 6.204989] hub 4-0:1.0: 2 ports detected
> [ 6.205269] uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 16 (level, low) -> IRQ 16
> [ 6.205278] uhci_hcd 0000:00:1d.3: setting latency timer to 64
> [ 6.205281] uhci_hcd 0000:00:1d.3: UHCI Host Controller
> [ 6.205448] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
> [ 6.205498] uhci_hcd 0000:00:1d.3: irq 16, io base 0x0000d880
> [ 6.205597] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
> [ 6.205599] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 6.205600] usb usb5: Product: UHCI Host Controller
> [ 6.205601] usb usb5: Manufacturer: Linux 2.6.33 uhci_hcd
> [ 6.205602] usb usb5: SerialNumber: 0000:00:1d.3
> [ 6.205912] hub 5-0:1.0: USB hub found
> [ 6.205924] hub 5-0:1.0: 2 ports detected
> [ 6.206303] Initializing USB Mass Storage driver...
> [ 6.206428] usbcore: registered new interface driver usb-storage
> [ 6.206429] USB Mass Storage support registered.
> [ 6.206889] PNP: No PS/2 controller found. Probing ports directly.
> [ 6.251877] serio: i8042 KBD port at 0x60,0x64 irq 1
> [ 6.251903] serio: i8042 AUX port at 0x60,0x64 irq 12
> [ 6.252259] mice: PS/2 mouse device common for all mice
> [ 6.252393] rtc_cmos 00:03: RTC can wake from S4
> [ 6.252606] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
> [ 6.252637] rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
> [ 6.446711] cpuidle: using governor ladder
> [ 6.446714] cpuidle: using governor menu
> [ 6.449762] usbcore: registered new interface driver hiddev
> [ 6.449873] usbcore: registered new interface driver usbhid
> [ 6.449874] usbhid: USB HID core driver
> [ 6.450050] oprofile: using NMI interrupt.
> [ 6.469847] TCP cubic registered
> [ 6.469851] NET: Registered protocol family 17
> [ 6.499369] registered taskstats version 1
> [ 6.503448] rtc_cmos 00:03: setting system clock to 2010-03-16 08:01:28 UTC (1268726488)
> [ 6.539784] EXT3-fs (sda2): recovery required on readonly filesystem
> [ 6.543559] EXT3-fs (sda2): write access will be enabled during recovery
> [ 6.587902] kjournald starting. Commit interval 5 seconds
> [ 6.591792] EXT3-fs (sda2): recovery complete
> [ 6.596352] EXT3-fs (sda2): mounted filesystem with writeback data mode
> [ 6.600318] VFS: Mounted root (ext3 filesystem) readonly on device 8:2.
> [ 6.604202] Freeing unused kernel memory: 2556k freed
> [ 6.609265] Write protecting the kernel read-only data: 6144k
> [ 6.613463] Freeing unused kernel memory: 664k freed
> [ 6.617826] Freeing unused kernel memory: 332k freed
> [ 6.860063] usb 3-2: new low speed USB device using uhci_hcd and address 2
> [ 7.115503] usb 3-2: New USB device found, idVendor=1241, idProduct=1503
> [ 7.119525] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 7.123498] usb 3-2: Product: USB Keyboard
> [ 7.127376] usb 3-2: Manufacturer:
> [ 7.181976] input: USB Keyboard as /class/input/input0
> [ 7.186467] generic-usb 0003:1241:1503.0001: input,hidraw0: USB HID v1.10 Keyboard [ USB Keyboard] on usb-0000:00:1d.1-2/input0
> [ 7.274776] input: USB Keyboard as /class/input/input1
> [ 7.279002] generic-usb 0003:1241:1503.0002: input,hidraw1: USB HID v1.10 Device [ USB Keyboard] on usb-0000:00:1d.1-2/input1
> [ 7.338603] stty used greatest stack depth: 3744 bytes left
> [ 7.724093] touch used greatest stack depth: 3664 bytes left
> [ 8.919804] egrep used greatest stack depth: 3344 bytes left
> [ 10.713241] EXT3-fs (sda2): using internal journal
> [ 11.708808] kjournald starting. Commit interval 5 seconds
> [ 11.713511] EXT3-fs (sda1): using internal journal
> [ 11.718095] EXT3-fs (sda1): mounted filesystem with writeback data mode
> [ 12.975258] rc used greatest stack depth: 3136 bytes left
>
> lspci -vv:
> 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
> Subsystem: ASRock Incorporation Device 29c0
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
> Latency: 0
> Capabilities: [e0] Vendor Specific Information <?>
> Kernel driver in use: agpgart-intel
>
> 00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10) (prog-if 00 [VGA controller])
> Subsystem: ASRock Incorporation Device 29c2
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin A routed to IRQ 11
> Region 0: Memory at fea80000 (32-bit, non-prefetchable) [size=512K]
> Region 1: I/O ports at dc00 [size=8]
> Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
> Region 3: Memory at fe900000 (32-bit, non-prefetchable) [size=1M]
> Expansion ROM at <unassigned> [disabled]
> Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
> Address: 00000000 Data: 0000
> Capabilities: [d0] Power Management version 2
> Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
>
> 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 32 bytes
> Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
> I/O behind bridge: 00001000-00001fff
> Memory behind bridge: bf700000-bfafffff
> Prefetchable memory behind bridge: 00000000fdf00000-00000000fdffffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
> PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
> Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
> DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
> ExtTag- RBE- FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 128 bytes
> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
> LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <4us
> ClockPM- Surprise- LLActRep+ BwNot-
> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+
> Slot # 11, PowerLimit 25.000000; Interlock- NoCompl-
> SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
> Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
> SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
> Changed: MRL- PresDet- LinkState-
> RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
> RootCap: CRSVisible-
> RootSta: PME ReqID 0000, PMEStatus- PMEPending-
> Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
> Address: fee0300c Data: 4149
> Capabilities: [90] Subsystem: ASRock Incorporation Device 27d0
> Capabilities: [a0] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [100] Virtual Channel <?>
> Capabilities: [180] Root Complex Link <?>
> Kernel driver in use: pcieport
>
> 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01) (prog-if 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 32 bytes
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> I/O behind bridge: 0000e000-0000efff
> Memory behind bridge: feb00000-febfffff
> Prefetchable memory behind bridge: 00000000fde00000-00000000fdefffff
> Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
> BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
> PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
> Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
> DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
> ExtTag- RBE- FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 128 bytes
> DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
> LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us
> ClockPM- Surprise- LLActRep+ BwNot-
> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
> SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+
> Slot # 0, PowerLimit 0.000000; Interlock- NoCompl-
> SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
> Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
> SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
> Changed: MRL- PresDet- LinkState-
> RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
> RootCap: CRSVisible-
> RootSta: PME ReqID 0000, PMEStatus- PMEPending-
> Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
> Address: fee0300c Data: 4151
> Capabilities: [90] Subsystem: ASRock Incorporation Device 27d2
> Capabilities: [a0] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [100] Virtual Channel <?>
> Capabilities: [180] Root Complex Link <?>
> Kernel driver in use: pcieport
>
> 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
> Subsystem: ASRock Incorporation Device 27c8
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin A routed to IRQ 23
> Region 4: I/O ports at d400 [size=32]
> Kernel driver in use: uhci_hcd
>
> 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
> Subsystem: ASRock Incorporation Device 27c9
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin B routed to IRQ 19
> Region 4: I/O ports at d480 [size=32]
> Kernel driver in use: uhci_hcd
>
> 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])
> Subsystem: ASRock Incorporation Device 27ca
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin C routed to IRQ 18
> Region 4: I/O ports at d800 [size=32]
> Kernel driver in use: uhci_hcd
>
> 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
> Subsystem: ASRock Incorporation Device 27cb
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin D routed to IRQ 16
> Region 4: I/O ports at d880 [size=32]
> Kernel driver in use: uhci_hcd
>
> 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) (prog-if 20 [EHCI])
> Subsystem: ASRock Incorporation Device 27cc
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin A routed to IRQ 23
> Region 0: Memory at fea77c00 (32-bit, non-prefetchable) [size=1K]
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [58] Debug port: BAR=1 offset=00a0
> Kernel driver in use: ehci_hcd
>
> 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) (prog-if 01 [Subtractive decode])
> Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Bus: primary=00, secondary=03, subordinate=03, sec-latency=32
> Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
> BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
> PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
> Capabilities: [50] Subsystem: ASRock Incorporation Device 244e
>
> 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
> Subsystem: ASRock Incorporation Device 27b8
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Capabilities: [e0] Vendor Specific Information <?>
>
> 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) (prog-if 8a [Master SecP PriP])
> Subsystem: ASRock Incorporation Device 27df
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
> Latency: 0
> Interrupt: pin A routed to IRQ 18
> Region 0: I/O ports at 01f0 [size=8]
> Region 1: I/O ports at 03f4 [size=1]
> Region 2: I/O ports at 0170 [size=8]
> Region 3: I/O ports at 0374 [size=1]
> Region 4: I/O ports at ffa0 [size=16]
> Kernel driver in use: ata_piix
>
> 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])
> Subsystem: ASRock Incorporation Device 27c0
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Interrupt: pin B routed to IRQ 19
> Region 0: I/O ports at d080 [size=8]
> Region 1: I/O ports at d000 [size=4]
> Region 2: I/O ports at cc00 [size=8]
> Region 3: I/O ports at c880 [size=4]
> Region 4: I/O ports at c800 [size=16]
> Capabilities: [70] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Kernel driver in use: ata_piix
>
> 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
> Subsystem: ASRock Incorporation Device 27da
> Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Interrupt: pin B routed to IRQ 5
> Region 4: I/O ports at 0400 [size=32]
>
> 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
> Subsystem: ASRock Incorporation Device 8136
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0, Cache Line Size: 32 bytes
> Interrupt: pin A routed to IRQ 26
> Region 0: I/O ports at e800 [size=256]
> Region 2: Memory at fdeff000 (64-bit, prefetchable) [size=4K]
> Region 4: Memory at fdee0000 (64-bit, prefetchable) [size=64K]
> [virtual] Expansion ROM at fde00000 [disabled] [size=128K]
> Capabilities: [40] Power Management version 3
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
> Address: 00000000fee0300c Data: 4169
> Capabilities: [70] Express (v2) Endpoint, MSI 01
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
> MaxPayload 128 bytes, MaxReadReq 4096 bytes
> DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
> LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
> ClockPM+ Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> DevCap2: Completion Timeout: Not Supported, TimeoutDis+
> DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
> LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
> Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
> Compliance De-emphasis: -6dB
> LnkSta2: Current De-emphasis Level: -6dB
> Capabilities: [ac] MSI-X: Enable- Count=2 Masked-
> Vector table: BAR=4 offset=00000000
> PBA: BAR=4 offset=00000800
> Capabilities: [cc] Vital Product Data
> Not readable
> Capabilities: [100] Advanced Error Reporting
> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
> UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
> CESta: RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
> AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
> Capabilities: [140] Virtual Channel <?>
> Capabilities: [160] Device Serial Number 08-00-00-00-ff-ff-00-00
> Kernel driver in use: r8169
>
>
^ permalink raw reply
* [PATCH 2/3] netfilter: ctnetlink: fix reliable event delivery if message building fails
From: Pablo Neira Ayuso @ 2010-03-16 23:30 UTC (permalink / raw)
To: netdev; +Cc: kaber, davem
In-Reply-To: <20100316232247.4185.19426.stgit@decadence>
This patch fixes a bug that allows to lose events when reliable
event delivery mode is used, ie. if NETLINK_BROADCAST_SEND_ERROR
and NETLINK_RECV_NO_ENOBUFS socket options are set.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/linux/netfilter/nfnetlink.h | 2 +-
net/netfilter/nf_conntrack_netlink.c | 4 +++-
net/netfilter/nfnetlink.c | 4 ++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h
index 5392386..361d6b5 100644
--- a/include/linux/netfilter/nfnetlink.h
+++ b/include/linux/netfilter/nfnetlink.h
@@ -76,7 +76,7 @@ extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
extern int nfnetlink_has_listeners(struct net *net, unsigned int group);
extern int nfnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned group,
int echo, gfp_t flags);
-extern void nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error);
+extern int nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error);
extern int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u_int32_t pid, int flags);
extern void nfnl_lock(void);
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index 8b05f36..00016e0 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -582,7 +582,9 @@ nla_put_failure:
nlmsg_failure:
kfree_skb(skb);
errout:
- nfnetlink_set_err(net, 0, group, -ENOBUFS);
+ if (nfnetlink_set_err(net, 0, group, -ENOBUFS) > 0)
+ return -ENOBUFS;
+
return 0;
}
#endif /* CONFIG_NF_CONNTRACK_EVENTS */
diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
index 8eb0cc2..6afa3d5 100644
--- a/net/netfilter/nfnetlink.c
+++ b/net/netfilter/nfnetlink.c
@@ -113,9 +113,9 @@ int nfnetlink_send(struct sk_buff *skb, struct net *net, u32 pid,
}
EXPORT_SYMBOL_GPL(nfnetlink_send);
-void nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error)
+int nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error)
{
- netlink_set_err(net->nfnl, pid, group, error);
+ return netlink_set_err(net->nfnl, pid, group, error);
}
EXPORT_SYMBOL_GPL(nfnetlink_set_err);
^ permalink raw reply related
* [PATCH 1/3] netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
From: Pablo Neira Ayuso @ 2010-03-16 23:29 UTC (permalink / raw)
To: netdev; +Cc: kaber, davem
In-Reply-To: <20100316232247.4185.19426.stgit@decadence>
Currently, ENOBUFS errors are reported to the socket via
netlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However,
that should not happen. This fixes this problem and it changes the
prototype of netlink_set_err() to return the number of sockets whose
error has been set. This allows to know if any error has been set.
This return value is used in the next patch in these bugfix series.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/linux/netlink.h | 2 +-
net/netlink/af_netlink.c | 13 +++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index fde27c0..6eaca5e 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -188,7 +188,7 @@ extern int netlink_has_listeners(struct sock *sk, unsigned int group);
extern int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock);
extern int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, __u32 pid,
__u32 group, gfp_t allocation);
-extern void netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code);
+extern int netlink_set_err(struct sock *ssk, __u32 pid, __u32 group, int code);
extern int netlink_register_notifier(struct notifier_block *nb);
extern int netlink_unregister_notifier(struct notifier_block *nb);
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 4c5972b..24ec840 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1104,8 +1104,12 @@ static inline int do_one_set_err(struct sock *sk,
!test_bit(p->group - 1, nlk->groups))
goto out;
+ if (p->code == ENOBUFS && nlk->flags & NETLINK_RECV_NO_ENOBUFS) {
+ goto out;
+
sk->sk_err = p->code;
sk->sk_error_report(sk);
+ return 1;
out:
return 0;
}
@@ -1116,12 +1120,16 @@ out:
* @pid: the PID of a process that we want to skip (if any)
* @groups: the broadcast group that will notice the error
* @code: error code, must be negative (as usual in kernelspace)
+ *
+ * This function returns the number of broadcast listeners whose error code
+ * has been set.
*/
-void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
+int netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
{
struct netlink_set_err_data info;
struct hlist_node *node;
struct sock *sk;
+ int ret = 0;
info.exclude_sk = ssk;
info.pid = pid;
@@ -1132,9 +1140,10 @@ void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code)
read_lock(&nl_table_lock);
sk_for_each_bound(sk, node, &nl_table[ssk->sk_protocol].mc_list)
- do_one_set_err(sk, &info);
+ ret += do_one_set_err(sk, &info);
read_unlock(&nl_table_lock);
+ return ret;
}
EXPORT_SYMBOL(netlink_set_err);
^ permalink raw reply related
* [PATCH 0/3] several minor Netlink fixes
From: Pablo Neira Ayuso @ 2010-03-16 23:29 UTC (permalink / raw)
To: netdev; +Cc: kaber, davem
Hi!
This patchset contains a couple of fixes for Netlink related stuff. More
relevantly, a path that allows to set ENOBUFS when NETLINK_NO_ENOBUFS is
set (that should not happen). It follows the corresponding fix for
ctnetlink. This patchset closes with one fix for a unaligned access.
Please apply! Thanks!
---
Pablo Neira Ayuso (3):
netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
netfilter: ctnetlink: fix reliable event delivery if message building fails
netlink: fix unaligned access in nla_get_be64()
include/linux/netfilter/nfnetlink.h | 2 +-
include/linux/netlink.h | 2 +-
include/net/netlink.h | 6 +++++-
net/netfilter/nf_conntrack_netlink.c | 4 +++-
net/netfilter/nfnetlink.c | 4 ++--
net/netlink/af_netlink.c | 13 +++++++++++--
6 files changed, 23 insertions(+), 8 deletions(-)
^ permalink raw reply
* [PATCH] KS8851: Avoid NULL pointer in set rx mode
From: Abraham Arce @ 2010-03-16 22:24 UTC (permalink / raw)
To: netdev
Kernel NULL pointer dereference when setting mode for IFF_MULTICAST.
Tested on SDP OMAP4430 board.
ks8851 spi1.0: message enable is 0
ks8851 spi1.0: revision 0, MAC f2:f4:2f:56:37:de, IRQ 194
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.34-rc1-01039-g38d7ed1-dirty #3)
PC is at ks8851_set_rx_mode+0x88/0x124
LR is at bitrev32+0x24/0x2c
<snip>
Backtrace:
[<c01bfbd8>] ? (ks8851_set_rx_mode+0x0/0x124)
[<c01d4164>] (__dev_set_rx_mode+0x0/0x90)
[<c01dc460>] (dev_mc_add+0x0/0x78)
[<c021f0bc>] (igmp_group_added+0x0/0x64)
[<c021f174>] (ip_mc_inc_group+0x0/0x150)
[<c021f3b8>] (ip_mc_up+0x0/0x64)
[<c0219eb0>] (inetdev_event+0x0/0x3d4)
[<c0066818>] (notifier_call_chain+0x0/0x78)
[<c00668b8>] (__raw_notifier_call_chain+0x0/0x24)
[<c00668dc>] (raw_notifier_call_chain+0x0/0x28)
[<c01d7484>] (call_netdevice_notifiers+0x0/0x24)
[<c01d7780>] (__dev_notify_flags+0x0/0x68)
[<c01d77e8>] (dev_change_flags+0x0/0x4c)
[<c001f0bc>] (ip_auto_config+0x0/0xf1c)
[<c0028490>] (do_one_initcall+0x0/0x1bc)
[<c00084dc>] (kernel_init+0x0/0x234)
Code: e15130bc e1833012 e14130bc e5943000 (e5934000)
---[ end trace ed0fb00a94142792 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Signed-off-by: Abraham Arce <x0066660@ti.com>
---
drivers/net/ks8851.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c
index 0573e0b..13cc1ca 100644
--- a/drivers/net/ks8851.c
+++ b/drivers/net/ks8851.c
@@ -976,7 +976,6 @@ static void ks8851_set_rx_mode(struct net_device *dev)
crc >>= (32 - 6); /* get top six bits */
rxctrl.mchash[crc >> 4] |= (1 << (crc & 0xf));
- mcptr = mcptr->next;
}
rxctrl.rxcr1 = RXCR1_RXME | RXCR1_RXPAFMA;
--
1.5.4.3
^ permalink raw reply related
* [GIT]: Networking
From: David Miller @ 2010-03-16 21:54 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, linux-kernel
1) Several bridging fixes from YOSHIFUJI Hideaki, Herbert Xu,
and Michael Braun.
2) Gigaset ISDN driver fixes from Tilman Schmidt.
3) Several fixes via Andrew Morton including:
Two Isdn4Linux fixes from Ian Munsie.
Remove obsolete kconfig references from Christoph Egger
Use for_each_set_bit() in phonet and atm from Akinobu Mita
4) L2TP OOPS and socket refcount bug fixes from James Chapman.
5) procfs rejects slashes in request_irq() names, fix for NE
driver from Atsushi Nemoto.
6) Remove dead code in myri driver, from Dan Carpenter.
7) DCCP oopses if initialization fails, fix from Gerrit Renker.
8) Fix lock imbalance in ksz884x and NULL deref fix in netpoll
from Jiri Slaby.
9) be2net big-endian bug fix from Ajit Khaparde.
10) Add SMSC97xx USB gigabit driver from Steve Glandinning.
Fix PHY reset completion in SMSX95xx driver, also from Steve.
11) davinci driver build broke due to removal of deprecated
DMA cache flushing interfaces, use dma_{map,unmap}_*() instead.
From Sekhar Nori.
12) Add missing ISDN PCI device IDs, from Lars Ellenberg.
13) bnx2x memory barrier fixes from Stanislaw Gruszka.
14) Routing cache timer can crash in timer code due to missed
synchronization, fix by using mod_timer(), from Vitaliy Gusev.
Please pull, thanks a lot!
The following changes since commit a3d3203e4bb40f253b1541e310dc0f9305be7c84:
Linus Torvalds (1):
Merge branch 'release' of git://git.kernel.org/.../lenb/linux-acpi-2.6
are available in the git repository at:
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master
Ajit Khaparde (1):
be2net: fix mccq create for big endian architectures
Akinobu Mita (2):
phonet: use for_each_set_bit()
atm: use for_each_set_bit()
Atsushi Nemoto (1):
ne: Do not use slashes in irq name string
Christoph Egger (2):
obsolete config in kernel source: USE_INTERNAL_TIMER
obsolete config in kernel source: HSO_AUTOPM
Dan Carpenter (1):
myri: remove dead code
David S. Miller (3):
e100: Fix ring parameter change handling regression.
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
bridge: Make first arg to deliver_clone const.
Gerrit Renker (1):
net-2.6 [Bug-Fix][dccp]: fix oops caused after failed initialisation
Herbert Xu (1):
bridge: Move NULL mdb check into br_mdb_ip_get
Ian Munsie (2):
i4l: silence compiler warnings for array access in Eicon DIVA ISDN driver
i4l: change magic numbers in Eicon DIVA ISDN driver to symbolic names
James Chapman (2):
l2tp: Fix oops in pppol2tp_xmit
l2tp: Fix UDP socket reference count bugs in the pppol2tp driver
Jiri Slaby (2):
NET: ksz884x, fix lock imbalance
NET: netpoll, fix potential NULL ptr dereference
Julia Lawall (1):
drivers/net: drop redundant memset
Lars Ellenberg (1):
ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe
Michael Braun (1):
bridge: Fix br_forward crash in promiscuous mode
Neil Horman (1):
tipc: fix lockdep warning on address assignment
Randy Dunlap (1):
timestamping: fix example build
Roel Kluin (1):
isdn: misplaced parenthesis in pof_handle_data()
Sekhar Nori (1):
net: davinci emac: use dma_{map, unmap}_single API for cache coherency
Stanislaw Gruszka (3):
bnx2x: use smp_mb() to keep ordering of read write operations
bnx2x: remove not necessary compiler barrier
bnx2x: change smp_mb() comment to conform the true
Steve Glendinning (2):
smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver
smsc95xx: wait for PHY to complete reset during init
Tilman Schmidt (4):
gigaset: avoid registering CAPI driver more than once
gigaset: correct clearing of at_state strings on RING
gigaset: prune use of tty_buffer_request_room
gigaset: correct range checking off by one error
Vitaliy Gusev (1):
route: Fix caught BUG_ON during rt_secret_rebuild_oneshot()
YOSHIFUJI Hideaki (3):
bridge br_multicast: Fix handling of Max Response Code in IGMPv3 message.
bridge br_multicast: Fix skb leakage in error path.
bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping.
chaithrika@ti.com (1):
TI DaVinci EMAC: Convert to dev_pm_ops
Documentation/networking/Makefile | 2 +
Documentation/networking/timestamping/Makefile | 11 +-
.../networking/timestamping/timestamping.c | 10 +-
drivers/atm/lanai.c | 7 +-
drivers/isdn/gigaset/capi.c | 46 +-
drivers/isdn/gigaset/common.c | 6 +-
drivers/isdn/gigaset/ev-layer.c | 12 +-
drivers/isdn/gigaset/gigaset.h | 6 +-
drivers/isdn/gigaset/i4l.c | 28 +-
drivers/isdn/gigaset/interface.c | 1 -
drivers/isdn/hardware/eicon/message.c | 35 +-
drivers/isdn/hardware/mISDN/hfcmulti.c | 6 +
drivers/isdn/hysdn/hysdn_boot.c | 2 +-
drivers/net/benet/be_cmds.c | 2 +-
drivers/net/bnx2x_main.c | 10 +-
drivers/net/davinci_emac.c | 72 +-
drivers/net/e100.c | 2 +-
drivers/net/irda/w83977af_ir.c | 36 -
drivers/net/ksz884x.c | 8 +-
drivers/net/myri10ge/myri10ge.c | 1 -
drivers/net/ne.c | 2 +-
drivers/net/pppol2tp.c | 6 +-
drivers/net/s2io.c | 4 +-
drivers/net/usb/Kconfig | 8 +
drivers/net/usb/Makefile | 1 +
drivers/net/usb/hso.c | 3 -
drivers/net/usb/smsc75xx.c | 1288 ++++++++++++++++++++
drivers/net/usb/smsc75xx.h | 421 +++++++
drivers/net/usb/smsc95xx.c | 15 +
net/bridge/br_device.c | 2 +-
net/bridge/br_forward.c | 18 +-
net/bridge/br_input.c | 4 +-
net/bridge/br_multicast.c | 18 +-
net/bridge/br_private.h | 10 +-
net/core/netpoll.c | 4 +-
net/dccp/ipv4.c | 8 +-
net/dccp/ipv6.c | 8 +-
net/dccp/proto.c | 16 +-
net/ipv4/route.c | 16 +-
net/phonet/pn_dev.c | 3 +-
net/phonet/pn_netlink.c | 3 +-
net/tipc/ref.c | 26 +-
42 files changed, 1975 insertions(+), 212 deletions(-)
create mode 100644 drivers/net/usb/smsc75xx.c
create mode 100644 drivers/net/usb/smsc75xx.h
^ permalink raw reply
* [PATCH] bridge: Make first arg to deliver_clone const.
From: David Miller @ 2010-03-16 21:38 UTC (permalink / raw)
To: netdev
This fixes a warning generated by one of the bug fixes I
added yesterday.
Applied to net-2.6
bridge: Make first arg to deliver_clone const.
Otherwise we get a warning from the call in br_forward().
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/bridge/br_forward.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
index 8347916..8dbec83 100644
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -19,7 +19,8 @@
#include <linux/netfilter_bridge.h>
#include "br_private.h"
-static int deliver_clone(struct net_bridge_port *prev, struct sk_buff *skb,
+static int deliver_clone(const struct net_bridge_port *prev,
+ struct sk_buff *skb,
void (*__packet_hook)(const struct net_bridge_port *p,
struct sk_buff *skb));
@@ -112,7 +113,8 @@ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, struct sk
kfree_skb(skb);
}
-static int deliver_clone(struct net_bridge_port *prev, struct sk_buff *skb,
+static int deliver_clone(const struct net_bridge_port *prev,
+ struct sk_buff *skb,
void (*__packet_hook)(const struct net_bridge_port *p,
struct sk_buff *skb))
{
--
1.6.6.1
^ permalink raw reply related
* Re: [PATCH net-2.6] bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping.
From: David Miller @ 2010-03-16 21:34 UTC (permalink / raw)
To: yoshfuji; +Cc: netdev
In-Reply-To: <201003160751.o2G7pIwM022633@94.43.138.210.xn.2iij.net>
From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date: Tue, 16 Mar 2010 16:51:18 +0900
> Without CONFIG_BRIDGE_IGMP_SNOOPING,
> BR_INPUT_SKB_CB(skb)->mrouters_only is not appropriately
> initialized, so we can see garbage.
>
> A clear option to fix this is to set it even without that
> config, but we cannot optimize out the branch.
>
> Let's introduce a macro that returns value of mrouters_only
> and let it return 0 without CONFIG_BRIDGE_IGMP_SNOOPING.
>
> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Applied, thank you.
^ permalink raw reply
* Re: [PATCH net-2.6] bridge br_multicast: Fix skb leakage in error path.
From: David Miller @ 2010-03-16 21:30 UTC (permalink / raw)
To: yoshfuji; +Cc: netdev
In-Reply-To: <201003160526.o2G5QuVN010801@94.43.138.210.xn.2iij.net>
From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date: Tue, 16 Mar 2010 14:26:56 +0900
> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Applied.
^ permalink raw reply
* Re: [PATCH] route: Fix caught BUG_ON during rt_secret_rebuild_oneshot()
From: David Miller @ 2010-03-16 21:30 UTC (permalink / raw)
To: nhorman; +Cc: eric.dumazet, vgusev, herbert, netdev
In-Reply-To: <20100316181816.GC13529@hmsreliant.think-freely.org>
From: Neil Horman <nhorman@tuxdriver.com>
Date: Tue, 16 Mar 2010 14:18:16 -0400
> Ok, I just figured it was time to pose the question, since we'd fixed several
> bugs in this area over the last year. Certainly doesn't hurt to keep the
> rebuild timer around a bit longer. I re-iterate my ack to Vitaliy's patch then.
Applied, thanks everyone.
I frankly would be OK with seeing the rebuild timer go away
as early as 2.6.35
^ permalink raw reply
* Re: [PATCH] tipc: fix lockdep warning on address assignment
From: David Miller @ 2010-03-16 21:30 UTC (permalink / raw)
To: nhorman; +Cc: netdev, allan.stephens, tipc-discussion
In-Reply-To: <20100316181433.GB13529@hmsreliant.think-freely.org>
From: Neil Horman <nhorman@tuxdriver.com>
Date: Tue, 16 Mar 2010 14:14:33 -0400
> So in the forward porting of various tipc packages, I was constantly
> getting this lockdep warning everytime I used tipc-config to set a network
> address for the protocol:
Applied, thanks!
^ permalink raw reply
* Re: [PATCH 1/1] NET: netpoll, fix potential NULL ptr dereference
From: David Miller @ 2010-03-16 21:29 UTC (permalink / raw)
To: mpm; +Cc: jirislaby, jslaby, netdev, linux-kernel, danborkmann
In-Reply-To: <1268762160.25503.2988.camel@calx>
From: Matt Mackall <mpm@selenic.com>
Date: Tue, 16 Mar 2010 12:56:00 -0500
> On Tue, 2010-03-16 at 18:22 +0100, Jiri Slaby wrote:
>> On 03/16/2010 06:12 PM, Matt Mackall wrote:
>> > I don't get it. The source of the branch tests for !ndev->npinfo and the
>> > original destination of the branch also tests for !ndev->npinfo. I don't
>> > see how it gets dereferenced.
>>
>> Let's look at more of the context:
>> if (!ndev->npinfo) {
>> npinfo = kmalloc(sizeof(*npinfo), GFP_KERNEL);
>> if (!npinfo) { // npinfo is NULL
>> err = -ENOMEM;
>> goto release;
>> }
>> ...
>> release: // npinfo is still NULL
>> if (!ndev->npinfo) { // condition is the same (holds)
>> // dereference below: vvvvvvvvvvvvvvv
>> spin_lock_irqsave(&npinfo->rx_lock, flags);
>> list_for_each_entry_safe(npe, tmp, &npinfo->rx_np, rx) {
>> npe->dev = NULL;
>> }
>> spin_unlock_irqrestore(&npinfo->rx_lock, flags);
>>
>> kfree(npinfo);
>> }
>
> Ok, you're correct, I read the second test backwards.
>
> Acked-by: Matt Mackall <mpm@selenic.com>
Applied, thanks everyone.
^ 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