* [BUG] ISIC + 2.6.22 (via-rhine)
From: Xose Vazquez Perez @ 2007-07-31 21:11 UTC (permalink / raw)
To: linux-kernel; +Cc: netdev
hi,
Running ISIC -- IP Stack Integrity Checker ( http://isic.sf.net ),
in Fedora-7-i386 with 2.6.22, the NIC stopped to send packages.
But one second latter it began to send out more of them.
dmesg shows the bug.
command is:
# tcpsic -s rand -d 172.26.0.2 -I100
driver is:
via-rhine.c:v1.10-LK1.4.3 2007-03-06 Written by Donald Becker
eth0: VIA Rhine II at 0xbc000000, 00:11:d8:54:e9:3c, IRQ 19.
eth0: MII PHY found at address 1, status 0x786d advertising 01e1 Link 45e1.
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
eth0: no IPv6 routers present
---lspci--
00:12.0 0200: 1106:3065 (rev 78)
Subsystem: 1043:80ed
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (750ns min, 2000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 19
Region 0: I/O ports at 7000 [size=256]
Region 1: Memory at bc000000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
--end--
--dmesg output--
[...]
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
=================================
[ INFO: inconsistent lock state ]
2.6.22 #1
---------------------------------
inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
(&rp->lock){++..}, at: [<f8c890db>] rhine_tx_timeout+0x6f/0xf4 [via_rhine]
{in-hardirq-W} state was registered at:
[<c04440d4>] __lock_acquire+0x38c/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c0615279>] _spin_lock+0x2b/0x38
[<f8c87b49>] rhine_interrupt+0x16b/0x69b [via_rhine]
[<c045aac6>] handle_IRQ_event+0x1a/0x46
[<c045bbc0>] handle_fasteoi_irq+0x7d/0xb6
[<c0407089>] do_IRQ+0xb1/0xd8
[<ffffffff>] 0xffffffff
irq event stamp: 18052892
hardirqs last enabled at (18052892): [<c061567d>] _spin_unlock_irqrestore+0x36/0x3c
hardirqs last disabled at (18052891): [<c061558d>] _spin_lock_irqsave+0x12/0x44
softirqs last enabled at (18052876): [<c042d272>] __do_softirq+0xe3/0xe9
softirqs last disabled at (18052887): [<c0406f72>] do_softirq+0x61/0xc7
other info that might help us debug this:
1 lock held by swapper/0:
#0: (_xmit_ETHER){-+..}, at: [<c05c042a>] dev_watchdog+0x14/0xbf
stack backtrace:
[<c0405e6a>] show_trace_log_lvl+0x1a/0x2f
[<c04068cf>] show_trace+0x12/0x14
[<c0406928>] dump_stack+0x16/0x18
[<c0442ccd>] print_usage_bug+0x141/0x14b
[<c04434fd>] mark_lock+0x1fd/0x409
[<c0444144>] __lock_acquire+0x3fc/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c0615279>] _spin_lock+0x2b/0x38
[<f8c890db>] rhine_tx_timeout+0x6f/0xf4 [via_rhine]
[<c05c048c>] dev_watchdog+0x76/0xbf
[<c04303be>] run_timer_softirq+0x11a/0x182
[<c042d1fe>] __do_softirq+0x6f/0xe9
[<c0406f72>] do_softirq+0x61/0xc7
=======================
via-rhine: Reset not complete yet. Trying harder.
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
--end---
-thanks-
--
Politicos de mierda, yo no soy un terrorista.
^ permalink raw reply
* [NEIGH]: Combine neighbour cleanup and release
From: Thomas Graf @ 2007-07-31 21:12 UTC (permalink / raw)
To: davem; +Cc: netdev
Introduces neigh_cleanup_and_release() to be used after a
neighbour has been removed from its neighbour table. Serves
as preparation to add event notifications.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Index: net-2.6/net/core/neighbour.c
===================================================================
--- net-2.6.orig/net/core/neighbour.c 2007-07-22 11:41:46.000000000 +0200
+++ net-2.6/net/core/neighbour.c 2007-07-22 11:42:02.000000000 +0200
@@ -104,6 +104,14 @@ static int neigh_blackhole(struct sk_buf
return -ENETDOWN;
}
+static void neigh_cleanup_and_release(struct neighbour *neigh)
+{
+ if (neigh->parms->neigh_cleanup)
+ neigh->parms->neigh_cleanup(neigh);
+
+ neigh_release(neigh);
+}
+
/*
* It is random distribution in the interval (1/2)*base...(3/2)*base.
* It corresponds to default IPv6 settings and is not overridable,
@@ -140,9 +148,7 @@ static int neigh_forced_gc(struct neigh_
n->dead = 1;
shrunk = 1;
write_unlock(&n->lock);
- if (n->parms->neigh_cleanup)
- n->parms->neigh_cleanup(n);
- neigh_release(n);
+ neigh_cleanup_and_release(n);
continue;
}
write_unlock(&n->lock);
@@ -213,9 +219,7 @@ static void neigh_flush_dev(struct neigh
NEIGH_PRINTK2("neigh %p is stray.\n", n);
}
write_unlock(&n->lock);
- if (n->parms->neigh_cleanup)
- n->parms->neigh_cleanup(n);
- neigh_release(n);
+ neigh_cleanup_and_release(n);
}
}
}
@@ -676,9 +680,7 @@ static void neigh_periodic_timer(unsigne
*np = n->next;
n->dead = 1;
write_unlock(&n->lock);
- if (n->parms->neigh_cleanup)
- n->parms->neigh_cleanup(n);
- neigh_release(n);
+ neigh_cleanup_and_release(n);
continue;
}
write_unlock(&n->lock);
@@ -2094,11 +2096,8 @@ void __neigh_for_each_release(struct nei
} else
np = &n->next;
write_unlock(&n->lock);
- if (release) {
- if (n->parms->neigh_cleanup)
- n->parms->neigh_cleanup(n);
- neigh_release(n);
- }
+ if (release)
+ neigh_cleanup_and_release(n);
}
}
}
^ permalink raw reply
* [NEIGH]: Netlink notifications
From: Thomas Graf @ 2007-07-31 21:12 UTC (permalink / raw)
To: davem; +Cc: netdev
Currently neighbour event notifications are limited to update
notifications and only sent if the ARP daemon is enabled. This
patch extends the existing notification code by also reporting
neighbours being removed due to gc or administratively and
removes the dependency on the ARP daemon. This allows to keep
track of neighbour states without periodically fetching the
complete neighbour table.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Index: net-2.6/net/core/neighbour.c
===================================================================
--- net-2.6.orig/net/core/neighbour.c 2007-07-22 11:42:02.000000000 +0200
+++ net-2.6/net/core/neighbour.c 2007-07-22 11:49:15.000000000 +0200
@@ -54,9 +54,8 @@
#define PNEIGH_HASHMASK 0xF
static void neigh_timer_handler(unsigned long arg);
-#ifdef CONFIG_ARPD
-static void neigh_app_notify(struct neighbour *n);
-#endif
+static void __neigh_notify(struct neighbour *n, int type, int flags);
+static void neigh_update_notify(struct neighbour *neigh);
static int pneigh_ifdown(struct neigh_table *tbl, struct net_device *dev);
void neigh_changeaddr(struct neigh_table *tbl, struct net_device *dev);
@@ -109,6 +108,7 @@ static void neigh_cleanup_and_release(st
if (neigh->parms->neigh_cleanup)
neigh->parms->neigh_cleanup(neigh);
+ __neigh_notify(neigh, RTM_DELNEIGH, 0);
neigh_release(neigh);
}
@@ -829,13 +829,10 @@ static void neigh_timer_handler(unsigned
out:
write_unlock(&neigh->lock);
}
+
if (notify)
- call_netevent_notifiers(NETEVENT_NEIGH_UPDATE, neigh);
+ neigh_update_notify(neigh);
-#ifdef CONFIG_ARPD
- if (notify && neigh->parms->app_probes)
- neigh_app_notify(neigh);
-#endif
neigh_release(neigh);
}
@@ -1064,11 +1061,8 @@ out:
write_unlock_bh(&neigh->lock);
if (notify)
- call_netevent_notifiers(NETEVENT_NEIGH_UPDATE, neigh);
-#ifdef CONFIG_ARPD
- if (notify && neigh->parms->app_probes)
- neigh_app_notify(neigh);
-#endif
+ neigh_update_notify(neigh);
+
return err;
}
@@ -2001,6 +1995,11 @@ nla_put_failure:
return -EMSGSIZE;
}
+static void neigh_update_notify(struct neighbour *neigh)
+{
+ call_netevent_notifiers(NETEVENT_NEIGH_UPDATE, neigh);
+ __neigh_notify(neigh, RTM_NEWNEIGH, 0);
+}
static int neigh_dump_table(struct neigh_table *tbl, struct sk_buff *skb,
struct netlink_callback *cb)
@@ -2420,7 +2419,6 @@ static const struct file_operations neig
#endif /* CONFIG_PROC_FS */
-#ifdef CONFIG_ARPD
static inline size_t neigh_nlmsg_size(void)
{
return NLMSG_ALIGN(sizeof(struct ndmsg))
@@ -2452,16 +2450,11 @@ errout:
rtnl_set_sk_err(RTNLGRP_NEIGH, err);
}
+#ifdef CONFIG_ARPD
void neigh_app_ns(struct neighbour *n)
{
__neigh_notify(n, RTM_GETNEIGH, NLM_F_REQUEST);
}
-
-static void neigh_app_notify(struct neighbour *n)
-{
- __neigh_notify(n, RTM_NEWNEIGH, 0);
-}
-
#endif /* CONFIG_ARPD */
#ifdef CONFIG_SYSCTL
^ permalink raw reply
* [RTNETLINK]: Fix warning for !CONFIG_KMOD
From: Thomas Graf @ 2007-07-31 21:12 UTC (permalink / raw)
To: davem; +Cc: netdev
replay label is unused otherwise.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Index: net-2.6/net/core/rtnetlink.c
===================================================================
--- net-2.6.orig/net/core/rtnetlink.c 2007-07-22 11:41:46.000000000 +0200
+++ net-2.6/net/core/rtnetlink.c 2007-07-22 12:04:27.000000000 +0200
@@ -952,7 +952,9 @@ static int rtnl_newlink(struct sk_buff *
struct nlattr *linkinfo[IFLA_INFO_MAX+1];
int err;
+#ifdef CONFIG_KMOD
replay:
+#endif
err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy);
if (err < 0)
return err;
^ permalink raw reply
* Re: [RTNETLINK]: Fix warning for !CONFIG_KMOD
From: David Miller @ 2007-07-31 21:14 UTC (permalink / raw)
To: tgraf; +Cc: netdev
In-Reply-To: <20070731211258.GJ9285@postel.suug.ch>
From: Thomas Graf <tgraf@suug.ch>
Date: Tue, 31 Jul 2007 23:12:58 +0200
> replay label is unused otherwise.
>
> Signed-off-by: Thomas Graf <tgraf@suug.ch>
Applied, thanks Thomas.
^ permalink raw reply
* Re: [PATCH 39] net/ipv4/ip_options.c: kmalloc + memset conversion to kzalloc
From: Mariusz Kozlowski @ 2007-07-31 21:15 UTC (permalink / raw)
To: David Miller; +Cc: linux-kernel, kernel-janitors, akpm, netdev
In-Reply-To: <20070731.140728.118970012.davem@davemloft.net>
> Applied, but note that this patch changes behavior, previously
> only the ip_options structure base was cleared out, but now
> the whole memory region is cleared.
>
> I think it's OK for this case, but I'm just making note of it.
Agrh. Sorry. I must have overlook this. Feel free to drop it if
you think its not worth it :-)
Thanks,
Mariusz
^ permalink raw reply
* Re: [BUG] ISIC + 2.6.22 (via-rhine)
From: Arjan van de Ven @ 2007-07-31 21:23 UTC (permalink / raw)
To: Xose Vazquez Perez; +Cc: linux-kernel, netdev
In-Reply-To: <46AFA576.1060902@gmail.com>
> =================================
> [ INFO: inconsistent lock state ]
> 2.6.22 #1
> ---------------------------------
> inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
> swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
> (&rp->lock){++..}, at: [<f8c890db>] rhine_tx_timeout+0x6f/0xf4 [via_rhine]
this is a case of homegrown locking: the via-rhine driver does
/* protect against concurrent rx interrupts */
disable_irq(rp->pdev->irq);
spin_lock(&rp->lock);
/* clear all descriptors */
free_tbufs(dev);
free_rbufs(dev);
alloc_tbufs(dev);
alloc_rbufs(dev);
/* Reinitialize the hardware. */
rhine_chip_reset(dev);
init_registers(dev);
spin_unlock(&rp->lock);
enable_irq(rp->pdev->irq);
as a way to protect code against interrupts... rather than using the
normal mechanism.
the annotation is pretty simple (untested, not even compiled):
--- linux-2.6.22/drivers/net/via-rhine.c.org 2007-07-31 14:22:06.000000000 -0700
+++ linux-2.6.22/drivers/net/via-rhine.c 2007-07-31 14:22:26.000000000 -0700
@@ -1191,7 +1191,7 @@
mdio_read(dev, rp->mii_if.phy_id, MII_BMSR));
/* protect against concurrent rx interrupts */
- disable_irq(rp->pdev->irq);
+ disable_irq_lockdep(rp->pdev->irq);
spin_lock(&rp->lock);
@@ -1206,7 +1206,7 @@
init_registers(dev);
spin_unlock(&rp->lock);
- enable_irq(rp->pdev->irq);
+ enable_irq_lockdep(rp->pdev->irq);
dev->trans_start = jiffies;
rp->stats.tx_errors++;
^ permalink raw reply
* Re: [BUG] ISIC + 2.6.22 (via-rhine)
From: Xose Vazquez Perez @ 2007-07-31 21:53 UTC (permalink / raw)
To: Arjan van de Ven; +Cc: linux-kernel, netdev
In-Reply-To: <1185917013.2766.12.camel@laptopd505.fenrus.org>
Arjan van de Ven wrote:
>> =================================
>> [ INFO: inconsistent lock state ]
>> 2.6.22 #1
>> ---------------------------------
>> inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
>> swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
>> (&rp->lock){++..}, at: [<f8c890db>] rhine_tx_timeout+0x6f/0xf4 [via_rhine]
>
>
>
> this is a case of homegrown locking: the via-rhine driver does
>
> /* protect against concurrent rx interrupts */
> disable_irq(rp->pdev->irq);
>
> spin_lock(&rp->lock);
>
> /* clear all descriptors */
> free_tbufs(dev);
> free_rbufs(dev);
> alloc_tbufs(dev);
> alloc_rbufs(dev);
>
> /* Reinitialize the hardware. */
> rhine_chip_reset(dev);
> init_registers(dev);
>
> spin_unlock(&rp->lock);
> enable_irq(rp->pdev->irq);
>
>
> as a way to protect code against interrupts... rather than using the
> normal mechanism.
>
>
> the annotation is pretty simple (untested, not even compiled):
>
> --- linux-2.6.22/drivers/net/via-rhine.c.org 2007-07-31 14:22:06.000000000 -0700
> +++ linux-2.6.22/drivers/net/via-rhine.c 2007-07-31 14:22:26.000000000 -0700
> @@ -1191,7 +1191,7 @@
> mdio_read(dev, rp->mii_if.phy_id, MII_BMSR));
>
> /* protect against concurrent rx interrupts */
> - disable_irq(rp->pdev->irq);
> + disable_irq_lockdep(rp->pdev->irq);
>
> spin_lock(&rp->lock);
>
> @@ -1206,7 +1206,7 @@
> init_registers(dev);
>
> spin_unlock(&rp->lock);
> - enable_irq(rp->pdev->irq);
> + enable_irq_lockdep(rp->pdev->irq);
>
> dev->trans_start = jiffies;
> rp->stats.tx_errors++;
thanks Arjan. Patch applied and now I get:
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
======================================================
[ INFO: hard-safe -> hard-unsafe lock order detected ]
2.6.22 #1
------------------------------------------------------
swapper/0 [HC0[0]:SC1[1]:HE0:SE0] is trying to acquire:
(af_callback_keys + sk->sk_family#3){-.-?}, at: [<c05ab7d3>] sock_def_write_space+0x18/0x96
and this task is already holding:
(&rp->lock){++..}, at: [<f8d0a0e1>] rhine_tx_timeout+0x75/0x102 [via_rhine]
which would create a new lock dependency:
(&rp->lock){++..} -> (af_callback_keys + sk->sk_family#3){-.-?}
but this new dependency connects a hard-irq-safe lock:
(&rp->lock){++..}
... which became hard-irq-safe at:
[<c04440d4>] __lock_acquire+0x38c/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c0615279>] _spin_lock+0x2b/0x38
[<f8d08b49>] rhine_interrupt+0x16b/0x69b [via_rhine]
[<c045aac6>] handle_IRQ_event+0x1a/0x46
[<c045bbc0>] handle_fasteoi_irq+0x7d/0xb6
[<c0407089>] do_IRQ+0xb1/0xd8
[<ffffffff>] 0xffffffff
to a hard-irq-unsafe lock:
(af_callback_keys + sk->sk_family#3){-.-?}
... which became hard-irq-unsafe at:
... [<c0444144>] __lock_acquire+0x3fc/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c061532b>] _write_lock_bh+0x30/0x3d
[<c05d829e>] tcp_close+0x24e/0x531
[<c05f1175>] inet_release+0x43/0x49
[<c05a85d4>] sock_release+0x17/0x62
[<c05a89fb>] sock_close+0x2d/0x33
[<c047db0f>] __fput+0xbe/0x168
[<c047dbd0>] fput+0x17/0x19
[<c047b4b5>] filp_close+0x54/0x5c
[<c047c444>] sys_close+0x78/0xb0
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
other info that might help us debug this:
2 locks held by swapper/0:
#0: (_xmit_ETHER){-+..}, at: [<c05c042a>] dev_watchdog+0x14/0xbf
#1: (&rp->lock){++..}, at: [<f8d0a0e1>] rhine_tx_timeout+0x75/0x102 [via_rhine]
the hard-irq-safe lock's dependencies:
-> (&rp->lock){++..} ops: 0 {
initial-use at:
[<c044417d>] __lock_acquire+0x435/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06155af>] _spin_lock_irqsave+0x34/0x44
[<f8d0a19b>] rhine_get_stats+0x2d/0x9d [via_rhine]
[<c05b9017>] rtnl_fill_ifinfo+0x2e9/0x414
[<c05b9547>] rtmsg_ifinfo+0x57/0xd4
[<c05b95fc>] rtnetlink_event+0x38/0x3c
[<c0616f9e>] notifier_call_chain+0x2b/0x4a
[<c0433984>] __raw_notifier_call_chain+0x19/0x1e
[<c04339a3>] raw_notifier_call_chain+0x1a/0x1c
[<c05b14a3>] register_netdevice+0x335/0x33f
[<c05b27d6>] register_netdev+0x40/0x4d
[<f8d09d07>] rhine_init_one+0x515/0x6c7 [via_rhine]
[<c04f8085>] pci_device_probe+0x39/0x5b
[<c055cffc>] driver_probe_device+0xe9/0x16a
[<c055d1a6>] __driver_attach+0x76/0xaf
[<c055c4ec>] bus_for_each_dev+0x3a/0x5f
[<c055ce47>] driver_attach+0x19/0x1b
[<c055c80a>] bus_add_driver+0x79/0x181
[<c055d3a1>] driver_register+0x67/0x6c
[<c04f81dd>] __pci_register_driver+0x56/0x83
[<f885f06c>] 0xf885f06c
[<c044b77f>] sys_init_module+0x1579/0x16ca
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c04440d4>] __lock_acquire+0x38c/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c0615279>] _spin_lock+0x2b/0x38
[<f8d08b49>] rhine_interrupt+0x16b/0x69b [via_rhine]
[<c045aac6>] handle_IRQ_event+0x1a/0x46
[<c045bbc0>] handle_fasteoi_irq+0x7d/0xb6
[<c0407089>] do_IRQ+0xb1/0xd8
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c04440f5>] __lock_acquire+0x3ad/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06154e4>] _spin_lock_irq+0x31/0x3e
[<f8d0a68e>] rhine_start_tx+0x1b2/0x24a [via_rhine]
[<c05b21e9>] dev_hard_start_xmit+0x1ea/0x247
[<c05c0344>] __qdisc_run+0xc9/0x19b
[<c05b3ce0>] dev_queue_xmit+0x157/0x26b
[<f8fa81ed>] mld_sendpack+0x210/0x35a [ipv6]
[<f8fa8eb8>] mld_ifc_timer_expire+0x1e9/0x211 [ipv6]
[<c04303be>] run_timer_softirq+0x11a/0x182
[<c042d1fe>] __do_softirq+0x6f/0xe9
[<c0406f72>] do_softirq+0x61/0xc7
[<ffffffff>] 0xffffffff
}
... key at: [<f8d0f200>] __key.22744+0x0/0xffffb5f3 [via_rhine]
the hard-irq-unsafe lock's dependencies:
-> (af_callback_keys + sk->sk_family#3){-.-?} ops: 0 {
initial-use at:
[<c044417d>] __lock_acquire+0x435/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c061532b>] _write_lock_bh+0x30/0x3d
[<c05d829e>] tcp_close+0x24e/0x531
[<c05f1175>] inet_release+0x43/0x49
[<c05a85d4>] sock_release+0x17/0x62
[<c05a89fb>] sock_close+0x2d/0x33
[<c047db0f>] __fput+0xbe/0x168
[<c047dbd0>] fput+0x17/0x19
[<c047b4b5>] filp_close+0x54/0x5c
[<c047c444>] sys_close+0x78/0xb0
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c0444144>] __lock_acquire+0x3fc/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c061532b>] _write_lock_bh+0x30/0x3d
[<c05d829e>] tcp_close+0x24e/0x531
[<c05f1175>] inet_release+0x43/0x49
[<c05a85d4>] sock_release+0x17/0x62
[<c05a89fb>] sock_close+0x2d/0x33
[<c047db0f>] __fput+0xbe/0x168
[<c047dbd0>] fput+0x17/0x19
[<c047b4b5>] filp_close+0x54/0x5c
[<c047c444>] sys_close+0x78/0xb0
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
in-softirq-R at:
[<c04440f5>] __lock_acquire+0x3ad/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06153de>] _read_lock+0x2b/0x38
[<c05ab765>] sock_def_readable+0x18/0x6e
[<c05abca3>] sock_queue_rcv_skb+0xe1/0x102
[<c05ead1f>] udp_queue_rcv_skb+0x2d8/0x383
[<c05eb23b>] __udp4_lib_rcv+0x471/0x73a
[<c05eb516>] udp_rcv+0x12/0x14
[<c05cda19>] ip_local_deliver+0x187/0x232
[<c05cd85a>] ip_rcv+0x490/0x4c8
[<c05b1bc2>] netif_receive_skb+0x2ce/0x33e
[<c05b389b>] process_backlog+0x8b/0xec
[<c05b3a86>] net_rx_action+0x9b/0x19e
[<c042d1fe>] __do_softirq+0x6f/0xe9
[<c0406f72>] do_softirq+0x61/0xc7
[<ffffffff>] 0xffffffff
softirq-on-R at:
[<c0444168>] __lock_acquire+0x420/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06153de>] _read_lock+0x2b/0x38
[<c05ab7d3>] sock_def_write_space+0x18/0x96
[<c05aae32>] sock_setsockopt+0x11b/0x4d4
[<c05a7e9d>] sys_setsockopt+0x61/0x97
[<c05a9513>] sys_socketcall+0x1e8/0x241
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
hardirq-on-R at:
[<c0444119>] __lock_acquire+0x3d1/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06153de>] _read_lock+0x2b/0x38
[<c05ab7d3>] sock_def_write_space+0x18/0x96
[<c05abbad>] sock_wfree+0x27/0x3c
[<c0562b18>] loopback_xmit+0x12/0x66
[<c05b21e9>] dev_hard_start_xmit+0x1ea/0x247
[<c05b3d48>] dev_queue_xmit+0x1bf/0x26b
[<c05b854d>] neigh_resolve_output+0x1f7/0x22c
[<c05d25e6>] ip_output+0x287/0x2b5
[<c05cfd04>] ip_push_pending_frames+0x2f9/0x3ba
[<c05ea8aa>] udp_push_pending_frames+0x2c7/0x2e9
[<c05eba55>] udp_sendmsg+0x455/0x580
[<c05f0b8f>] inet_sendmsg+0x3e/0x49
[<c05a834f>] sock_sendmsg+0xe7/0x104
[<c05a8c26>] sys_sendto+0xcc/0xec
[<c05a8c7c>] sys_send+0x36/0x38
[<c05a9469>] sys_socketcall+0x13e/0x241
[<c0404e26>] sysenter_past_esp+0x5f/0x99
[<ffffffff>] 0xffffffff
}
... key at: [<c0a2dfd0>] af_callback_keys+0x10/0x110
stack backtrace:
[<c0405e6a>] show_trace_log_lvl+0x1a/0x2f
[<c04068cf>] show_trace+0x12/0x14
[<c0406928>] dump_stack+0x16/0x18
[<c0443cb4>] check_usage+0x258/0x262
[<c04445ee>] __lock_acquire+0x8a6/0xb12
[<c0444c1b>] lock_acquire+0x56/0x6f
[<c06153de>] _read_lock+0x2b/0x38
[<c05ab7d3>] sock_def_write_space+0x18/0x96
[<c05abbad>] sock_wfree+0x27/0x3c
[<c05ad393>] __kfree_skb+0xa6/0xfc
[<c05ad417>] kfree_skb+0x2e/0x30
[<f8d084dd>] free_tbufs+0x3f/0x66 [via_rhine]
[<f8d0a0e8>] rhine_tx_timeout+0x7c/0x102 [via_rhine]
[<c05c048c>] dev_watchdog+0x76/0xbf
[<c04303be>] run_timer_softirq+0x11a/0x182
[<c042d1fe>] __do_softirq+0x6f/0xe9
[<c0406f72>] do_softirq+0x61/0xc7
=======================
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timed out, status 0000, PHY status 786d, resetting...
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
--
Politicos de mierda, yo no soy un terrorista.
^ permalink raw reply
* [PATCH 66] net/ipv4/raw.c: kmalloc + memset conversion to kzalloc
From: Mariusz Kozlowski @ 2007-07-31 21:54 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors, Andrew Morton, netdev, davem
In-Reply-To: <200707311845.48807.m.kozlowski@tuxland.pl>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
net/ipv4/raw.c | 21650 -> 21628 (-22 bytes)
net/ipv4/raw.o | 179112 -> 179272 (+160 bytes)
net/ipv4/raw.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- linux-2.6.23-rc1-mm1-a/net/ipv4/raw.c 2007-07-26 13:07:44.000000000 +0200
+++ linux-2.6.23-rc1-mm1-b/net/ipv4/raw.c 2007-07-31 15:20:27.000000000 +0200
@@ -900,8 +900,9 @@ static int raw_seq_open(struct inode *in
{
struct seq_file *seq;
int rc = -ENOMEM;
- struct raw_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL);
-
+ struct raw_iter_state *s;
+
+ s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s)
goto out;
rc = seq_open(file, &raw_seq_ops);
@@ -910,7 +911,6 @@ static int raw_seq_open(struct inode *in
seq = file->private_data;
seq->private = s;
- memset(s, 0, sizeof(*s));
out:
return rc;
out_kfree:
^ permalink raw reply
* [PATCH 67] net/ipv4/route.c: mostly kmalloc + memset conversion to k[cz]alloc
From: Mariusz Kozlowski @ 2007-07-31 21:55 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors, Andrew Morton, davem, netdev
In-Reply-To: <200707311845.48807.m.kozlowski@tuxland.pl>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
net/ipv4/route.c | 75650 -> 75628 (-22 bytes)
net/ipv4/route.o | 256303 -> 256467 (+164 bytes)
net/ipv4/route.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- linux-2.6.23-rc1-mm1-a/net/ipv4/route.c 2007-07-26 13:07:44.000000000 +0200
+++ linux-2.6.23-rc1-mm1-b/net/ipv4/route.c 2007-07-31 15:21:41.000000000 +0200
@@ -374,8 +374,9 @@ static int rt_cache_seq_open(struct inod
{
struct seq_file *seq;
int rc = -ENOMEM;
- struct rt_cache_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL);
-
+ struct rt_cache_iter_state *s;
+
+ s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s)
goto out;
rc = seq_open(file, &rt_cache_seq_ops);
@@ -383,7 +384,6 @@ static int rt_cache_seq_open(struct inod
goto out_kfree;
seq = file->private_data;
seq->private = s;
- memset(s, 0, sizeof(*s));
out:
return rc;
out_kfree:
^ permalink raw reply
* [PATCH 68] drivers/net/s2io.c: kmalloc + memset conversion to k[cz]alloc
From: Mariusz Kozlowski @ 2007-07-31 21:56 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors, Andrew Morton, netdev, jgarzik
In-Reply-To: <200707311845.48807.m.kozlowski@tuxland.pl>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
drivers/net/s2io.c | 235587 -> 235340 (-247 bytes)
drivers/net/s2io.o | 460768 -> 460120 (-648 bytes)
drivers/net/s2io.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
--- linux-2.6.23-rc1-mm1-a/drivers/net/s2io.c 2007-07-26 13:07:42.000000000 +0200
+++ linux-2.6.23-rc1-mm1-b/drivers/net/s2io.c 2007-07-31 13:44:02.000000000 +0200
@@ -531,7 +531,7 @@ static int init_shared_mem(struct s2io_n
for (i = 0; i < config->tx_fifo_num; i++) {
int fifo_len = config->tx_cfg[i].fifo_len;
int list_holder_size = fifo_len * sizeof(struct list_info_hold);
- mac_control->fifos[i].list_info = kmalloc(list_holder_size,
+ mac_control->fifos[i].list_info = kzalloc(list_holder_size,
GFP_KERNEL);
if (!mac_control->fifos[i].list_info) {
DBG_PRINT(INFO_DBG,
@@ -539,7 +539,6 @@ static int init_shared_mem(struct s2io_n
return -ENOMEM;
}
mem_allocated += list_holder_size;
- memset(mac_control->fifos[i].list_info, 0, list_holder_size);
}
for (i = 0; i < config->tx_fifo_num; i++) {
int page_num = TXD_MEM_PAGE_CNT(config->tx_cfg[i].fifo_len,
@@ -3788,9 +3787,9 @@ static int s2io_enable_msi_x(struct s2io
u16 msi_control; /* Temp variable */
int ret, i, j, msix_indx = 1;
- nic->entries = kmalloc(MAX_REQUESTED_MSI_X * sizeof(struct msix_entry),
+ nic->entries = kcalloc(MAX_REQUESTED_MSI_X, sizeof(struct msix_entry),
GFP_KERNEL);
- if (nic->entries == NULL) {
+ if (!nic->entries) {
DBG_PRINT(INFO_DBG, "%s: Memory allocation failed\n", \
__FUNCTION__);
nic->mac_control.stats_info->sw_stat.mem_alloc_fail_cnt++;
@@ -3798,12 +3797,11 @@ static int s2io_enable_msi_x(struct s2io
}
nic->mac_control.stats_info->sw_stat.mem_allocated
+= (MAX_REQUESTED_MSI_X * sizeof(struct msix_entry));
- memset(nic->entries, 0,MAX_REQUESTED_MSI_X * sizeof(struct msix_entry));
nic->s2io_entries =
- kmalloc(MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry),
+ kcalloc(MAX_REQUESTED_MSI_X, sizeof(struct s2io_msix_entry),
GFP_KERNEL);
- if (nic->s2io_entries == NULL) {
+ if (!nic->s2io_entries) {
DBG_PRINT(INFO_DBG, "%s: Memory allocation failed\n",
__FUNCTION__);
nic->mac_control.stats_info->sw_stat.mem_alloc_fail_cnt++;
@@ -3814,8 +3812,6 @@ static int s2io_enable_msi_x(struct s2io
}
nic->mac_control.stats_info->sw_stat.mem_allocated
+= (MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry));
- memset(nic->s2io_entries, 0,
- MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry));
for (i=0; i< MAX_REQUESTED_MSI_X; i++) {
nic->entries[i].entry = i;
^ permalink raw reply
* [PATCH 69] drivers/net/sb1250-mac.c: kmalloc + memset conversion to kcalloc
From: Mariusz Kozlowski @ 2007-07-31 21:58 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors, Andrew Morton, jgarzik, netdev
In-Reply-To: <200707311845.48807.m.kozlowski@tuxland.pl>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
drivers/net/sb1250-mac.c | 76286 -> 76199 (-87 bytes)
drivers/net/sb1250-mac.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
--- linux-2.6.23-rc1-mm1-a/drivers/net/sb1250-mac.c 2007-07-26 13:07:43.000000000 +0200
+++ linux-2.6.23-rc1-mm1-b/drivers/net/sb1250-mac.c 2007-07-31 13:46:10.000000000 +0200
@@ -779,10 +779,8 @@ static void sbdma_initctx(sbmacdma_t *d,
* And context table
*/
- d->sbdma_ctxtable = (struct sk_buff **)
- kmalloc(d->sbdma_maxdescr*sizeof(struct sk_buff *), GFP_KERNEL);
-
- memset(d->sbdma_ctxtable,0,d->sbdma_maxdescr*sizeof(struct sk_buff *));
+ d->sbdma_ctxtable = kcalloc(d->sbdma_maxdescr,
+ sizeof(struct sk_buff *), GFP_KERNEL);
#ifdef CONFIG_SBMAC_COALESCE
/*
^ permalink raw reply
* [PATCH 76] drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc
From: Mariusz Kozlowski @ 2007-07-31 22:11 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors, Andrew Morton, romieu, netdev
In-Reply-To: <200707311845.48807.m.kozlowski@tuxland.pl>
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes)
drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes)
drivers/net/via-velocity.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
--- linux-2.6.23-rc1-mm1-a/drivers/net/via-velocity.c 2007-07-26 13:07:43.000000000 +0200
+++ linux-2.6.23-rc1-mm1-b/drivers/net/via-velocity.c 2007-07-31 13:50:28.000000000 +0200
@@ -1071,14 +1071,12 @@ static int velocity_rx_refill(struct vel
static int velocity_init_rd_ring(struct velocity_info *vptr)
{
- int ret = -ENOMEM;
- unsigned int rsize = sizeof(struct velocity_rd_info) *
- vptr->options.numrx;
+ int ret;
- vptr->rd_info = kmalloc(rsize, GFP_KERNEL);
- if(vptr->rd_info == NULL)
- goto out;
- memset(vptr->rd_info, 0, rsize);
+ vptr->rd_info = kcalloc(vptr->options.numrx,
+ sizeof(struct velocity_rd_info), GFP_KERNEL);
+ if (!vptr->rd_info)
+ return -ENOMEM;
vptr->rd_filled = vptr->rd_dirty = vptr->rd_curr = 0;
@@ -1088,7 +1086,7 @@ static int velocity_init_rd_ring(struct
"%s: failed to allocate RX buffer.\n", vptr->dev->name);
velocity_free_rd_ring(vptr);
}
-out:
+
return ret;
}
@@ -1142,21 +1140,19 @@ static int velocity_init_td_ring(struct
dma_addr_t curr;
struct tx_desc *td;
struct velocity_td_info *td_info;
- unsigned int tsize = sizeof(struct velocity_td_info) *
- vptr->options.numtx;
/* Init the TD ring entries */
for (j = 0; j < vptr->num_txq; j++) {
curr = vptr->td_pool_dma[j];
- vptr->td_infos[j] = kmalloc(tsize, GFP_KERNEL);
- if(vptr->td_infos[j] == NULL)
- {
+ vptr->td_infos[j] = kcalloc(vptr->options.numtx,
+ sizeof(struct velocity_td_info),
+ GFP_KERNEL);
+ if (!vptr->td_infos[j]) {
while(--j >= 0)
kfree(vptr->td_infos[j]);
return -ENOMEM;
}
- memset(vptr->td_infos[j], 0, tsize);
for (i = 0; i < vptr->options.numtx; i++, curr += sizeof(struct tx_desc)) {
td = &(vptr->td_rings[j][i]);
^ permalink raw reply
* Re: ATA over ethernet swapping
From: Pavel Machek @ 2007-07-31 22:27 UTC (permalink / raw)
To: Ed L. Cashin; +Cc: kernel list, ak, Netdev list
In-Reply-To: <20070731162140.GI3206@coraid.com>
Hi!
> ...
> > Is the protocol documented somewhere? aoe.txt only points at
> > HOWTO... aha, protocol is linked from wikipedia.
> > http://www.coraid.com/documents/AoEr10.txt ... perhaps that should be
> > linked from aoe.txt, too?
>
> Perhaps. Most people reading the aoe.txt file won't need to refer to
> the protocol itself, though.
Some of your users are developers, too :-). Should I generate a patch?
> > Hmm, aoe protocol is really trivial. Perhaps netpoll/netconsole
> > infrastructure could be used to create driver good enough for
> > swapping? (Ok, it would not neccessarily perform too well, but... we'd
> > simply wait for the reply synchronously. It should be pretty simple).
>
> I think that in general you still need a way to receive write
> confirmations without allocating memory, and the driver can't provide
> that mechanism. The problem is that when memory is scarce, writes of
> dirty data must be able to complete, but because memory is scarce,
> there might not be enough to receive and process packets write-reponse
> packets, and the driver has no way of affecting the situation. That's
> why I think a callback could work: The network layer could allow
> storage drivers to register a callback that recognizes write
> responses.
Hmm, ok, it is not as simple as I thought. include/linux/netpoll.h
already includes mechanism to notify interested parties really soon,
but drivers still call dev_alloc_skb() before that.
> Usually the callback would not be used, but if free pages became so
> scarce that network receives could not take place in a normal fashion,
> the (zero or few) registered callbacks would be used to quickly
> determine whether each packet was a write response. The distinction
> is important, because write responses can result in the freeing of
> pages.
Hmm, adding GFP_GIVE_ME_EMERGENCY_POOLS to dev_alloc_skb(), then doing
...
int netif_rx(struct sk_buff *skb)
{
struct softnet_data *queue;
unsigned long flags;
/* if netpoll wants it, pretend we never saw it */
if (netpoll_rx(skb))
return NET_RX_DROP;
if (memory_is_still_very_low())
return NET_RX_DROP;
...should do the trick. Would something like that be acceptable to
network people?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply
* Re: [PATCH 76] drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc
From: Francois Romieu @ 2007-07-31 22:32 UTC (permalink / raw)
To: Mariusz Kozlowski; +Cc: linux-kernel, kernel-janitors, Andrew Morton, netdev
In-Reply-To: <200708010011.50979.m.kozlowski@tuxland.pl>
Mariusz Kozlowski <m.kozlowski@tuxland.pl> :
> Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
>
> drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes)
> drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes)
>
> drivers/net/via-velocity.c | 24 ++++++++++--------------
> 1 file changed, 10 insertions(+), 14 deletions(-)
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
--
Ueimor
^ permalink raw reply
* [OOPS] 2.6.23-rc1 Seems to be network related
From: Bongani Hlope @ 2007-07-31 23:35 UTC (permalink / raw)
To: akpm, jgarzik; +Cc: netdev, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2685 bytes --]
Hi
I got this partial Oops on my work laptop (DELL D800), while using the linux
2.6.23-rc1 kernel. I've been using this kernel ever since it was released and
this is the first and only time it did not boot. It was around the time it
should have been trying to connect to my linksys wireless router (which has
been working fine everyday since the 2.6.23-rc1 kernel was released).
I copied what was on screen by hand, so some info is missing. I don't know how
to reproduce it.
Call Trace:
[<c0104cbc>] show_trace_log_lvl+0x1a/0x2f
[<c0104d6c>] show_stack_log_lvl+0x9b/0xa3
[<c0104f36>] show_registers+0x1c2/0x2db
[<c0105151>] die+0x02/0x1de
[<c01052b6>] do_trap+0x89/0xa2
[<c010558e>] do_invalid_op+0x88/0x92
[<c035a162>] error_code+0x6a/0x70
[<c0114efa>] kmap_atomic+0xe/0x10
[<c014a29c>] get_page_from_freelist+0x24c/0x3...
[<c015dd06>] __alloc_pages+0x53/0x27d
[<c015da60>] kmem_cache_alloc+0x32/0x68
[<c02e5065>] dst_alloc+0x28/0x60
[<c02f45fe>] ip_route_input+0x9b9/0xbba
[<c0314835>] arp_process+0x155/0x4e1
[<c0314caa>] arp_rcv+0xe9/0xfd
[<c02e1660>] netif_receive_skb+0x16e/0x1eb
[<c02e2efa>] process_backlog+0x71/0xda
[<c02e2fb9>] net_rx_action+0x56/0xee
[<c011f437>] __do_softirq+0x38/0x7a
[<c0106145>] do_soft_irq+0x41/0x91
[<c011f3c5>] irq_exit+0x2c/0x66
[<c010644a>] do_IRQ+0xb7/0xcd
[<c01047eb>] common_interrupt+0x23/0x28
[<c0151f87>] handle_mm_fault+0x1fe/0x57e
[<c035a162>] error_code+0x6a/0x70
=======================
EIP: [<c0114e87>] kmap_atomic_prot+0x27/0x8..
Linux bongani_nb 2.6.23-rc1 #4 PREEMPT Mon Jul 23 12:11:40 SAST 2007 i686
Intel(R) Pentium(R) M processor 1600MHz GNU/Linux
Gnu C 4.1.2
Gnu make 3.81
binutils 2.17.50.0.9
util-linux 2.12r
mount 2.12r
module-init-tools 3.3-pre2
e2fsprogs 1.39
pcmciautils 014
PPP 2.4.4
Linux C Library > libc.2.4
Dynamic linker (ldd) 2.4
Procps 3.2.7
Net-tools 1.60
Console-tools 0.2.3
Sh-utils 5.97
udev 106
wireless-tools 28
Modules Loaded tg3 snd_seq_dummy snd_seq_oss snd_seq_midi_event
snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_intel8x0 snd_ac97_codec
ac97_bus snd_pcm snd_timer snd_page_alloc snd soundcore video output thermal
sbs processor fan container button battery ac pcmcia yenta_socket
rsrc_nonstatic pcmcia_core intel_agp hidp nvram rfcomm l2cap ipw2100
ieee80211 ieee80211_crypt usbhid hci_usb bluetooth ohci1394 ieee1394 ehci_hcd
uhci_hcd joydev evdev
I'm sorry I can't provide more info, this is completely random and it's the
first time it ever happened.
[-- Attachment #2: config.gz --]
[-- Type: application/x-gzip, Size: 12727 bytes --]
^ permalink raw reply
* Re: [2.6 patch] drivers/net/cxgb3/xgmac.c: remove dead code
From: Divy Le Ray @ 2007-07-31 23:43 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Jeff Garzik, netdev, linux-kernel
In-Reply-To: <20070729145544.GA16817@stusta.de>
Adrian Bunk wrote:
>
> This patch removes dead code ("tx_xcnt" can never be != 0 at this place)
> spotted by the Coverity checker.
>
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
>
Acked-by: Divy Le Ray <divy@chelsio.com>
>
>
> ---
>
> drivers/net/cxgb3/xgmac.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> --- linux-2.6.22-rc6-mm1/drivers/net/cxgb3/xgmac.c.old 2007-07-24
> 13:55:33.000000000 +0200
> +++ linux-2.6.22-rc6-mm1/drivers/net/cxgb3/xgmac.c 2007-07-24
> 13:57:06.000000000 +0200
> @@ -510,38 +510,35 @@ int t3b2_mac_watchdog_task(struct cmac *
> if (tx_mcnt == mac->tx_mcnt) {
> tx_xcnt = (G_TXSPI4SOPCNT(t3_read_reg(adap,
>
> A_XGM_TX_SPI4_SOP_EOP_CNT +
> mac->offset)));
> if (tx_xcnt == 0) {
> t3_write_reg(adap, A_TP_PIO_ADDR,
> A_TP_TX_DROP_CNT_CH0 + macidx(mac));
> tx_tcnt = (G_TXDROPCNTCH0RCVD(t3_read_reg(adap,
> A_TP_PIO_DATA)));
> } else {
> goto rxcheck;
> }
> } else {
> mac->toggle_cnt = 0;
> goto rxcheck;
> }
>
> - if (((tx_tcnt != mac->tx_tcnt) &&
> - (tx_xcnt == 0) && (mac->tx_xcnt == 0)) ||
> - ((mac->tx_mcnt == tx_mcnt) &&
> - (tx_xcnt != 0) && (mac->tx_xcnt != 0))) {
> + if ((tx_tcnt != mac->tx_tcnt) && (mac->tx_xcnt == 0)) {
> if (mac->toggle_cnt > 4) {
> status = 2;
> goto out;
> } else {
> status = 1;
> goto out;
> }
> } else {
> mac->toggle_cnt = 0;
> goto rxcheck;
> }
>
> rxcheck:
> if (rx_mcnt != mac->rx_mcnt)
> rx_xcnt = (G_TXSPI4SOPCNT(t3_read_reg(adap,
>
> A_XGM_RX_SPI4_SOP_EOP_CNT +
> mac->offset)));
>
^ permalink raw reply
* Re: [OOPS] 2.6.23-rc1 Seems to be network related
From: Andrew Morton @ 2007-07-31 23:43 UTC (permalink / raw)
To: Bongani Hlope; +Cc: jgarzik, netdev, linux-kernel
In-Reply-To: <200708010135.23421.bonganilinux@mweb.co.za>
On Wed, 1 Aug 2007 01:35:23 +0200
Bongani Hlope <bonganilinux@mweb.co.za> wrote:
> I got this partial Oops on my work laptop (DELL D800), while using the linux
> 2.6.23-rc1 kernel. I've been using this kernel ever since it was released and
> this is the first and only time it did not boot. It was around the time it
> should have been trying to connect to my linksys wireless router (which has
> been working fine everyday since the 2.6.23-rc1 kernel was released).
>
> I copied what was on screen by hand, so some info is missing. I don't know how
> to reproduce it.
>
> Call Trace:
> [<c0104cbc>] show_trace_log_lvl+0x1a/0x2f
> [<c0104d6c>] show_stack_log_lvl+0x9b/0xa3
> [<c0104f36>] show_registers+0x1c2/0x2db
> [<c0105151>] die+0x02/0x1de
> [<c01052b6>] do_trap+0x89/0xa2
> [<c010558e>] do_invalid_op+0x88/0x92
> [<c035a162>] error_code+0x6a/0x70
> [<c0114efa>] kmap_atomic+0xe/0x10
> [<c014a29c>] get_page_from_freelist+0x24c/0x3...
> [<c015dd06>] __alloc_pages+0x53/0x27d
> [<c015da60>] kmem_cache_alloc+0x32/0x68
> [<c02e5065>] dst_alloc+0x28/0x60
> [<c02f45fe>] ip_route_input+0x9b9/0xbba
> [<c0314835>] arp_process+0x155/0x4e1
> [<c0314caa>] arp_rcv+0xe9/0xfd
> [<c02e1660>] netif_receive_skb+0x16e/0x1eb
> [<c02e2efa>] process_backlog+0x71/0xda
> [<c02e2fb9>] net_rx_action+0x56/0xee
> [<c011f437>] __do_softirq+0x38/0x7a
> [<c0106145>] do_soft_irq+0x41/0x91
> [<c011f3c5>] irq_exit+0x2c/0x66
> [<c010644a>] do_IRQ+0xb7/0xcd
> [<c01047eb>] common_interrupt+0x23/0x28
> [<c0151f87>] handle_mm_fault+0x1fe/0x57e
> [<c035a162>] error_code+0x6a/0x70
> =======================
> EIP: [<c0114e87>] kmap_atomic_prot+0x27/0x8..
Thanks. Commit b8c1c5da1520977cb55a358f20fc09567d40cad9 should
have fixed this.
^ permalink raw reply
* Re: [PATCH] pktgen - define and use pktgen_dbg,err,warn,info
From: Joe Perches @ 2007-07-31 23:48 UTC (permalink / raw)
To: David Miller; +Cc: Robert.Olsson, netdev
In-Reply-To: <20070730.160540.48528135.davem@davemloft.net>
On Mon, 2007-07-30 at 16:05 -0700, David Miller wrote:
> I still don't know about this patch. Instead of the simple
> transformation:
>
> - printk(foo);
> + printk(KERN_INFO foo);
>
> we get this new macro, and the lines changes to use that macro.
Actually, I agree.
Many local macros could be eliminated that define
printk(<level> prefix)
I'd like to see macros added to kernel.h for:
pr_err
pr_notice
pr_warn
pr_alert
pr_crit
pr_emerge
and convert tree-wide all the single-line
printk(KERN_<level> [prefix] fmt "\n", args...)
calls to the equivalent pr_<level> calls.
That would leave the multi-line printk(<level>...) calls
to be sorted out so these messages might no longer be
interleaved by multiple cpus/threads.
^ permalink raw reply
* [PATCH] atl1: use spin_trylock_irqsave()
From: Jay Cliburn @ 2007-08-01 0:07 UTC (permalink / raw)
To: jeff
Cc: mingo, csnook, atl1-devel, netdev, linux-kernel, nando, tglx,
brbrofsvl, Jay Cliburn
From: Ingo Molnar <mingo@elte.hu>
use the simpler spin_trylock_irqsave() API to get the adapter lock.
[ this is also a fix for -rt where adapter->lock is a sleeping lock. ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
---
drivers/net/atl1/atl1_main.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 56f6389..3c1984e 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -1704,10 +1704,8 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
}
}
- local_irq_save(flags);
- if (!spin_trylock(&adapter->lock)) {
+ if (!spin_trylock_irqsave(&adapter->lock, flags)) {
/* Can't get lock - tell upper layer to requeue */
- local_irq_restore(flags);
dev_printk(KERN_DEBUG, &adapter->pdev->dev, "tx locked\n");
return NETDEV_TX_LOCKED;
}
--
1.5.2.2
^ permalink raw reply related
* Re: [REGRESSION] tg3 dead after s2ram
From: Andrew Morton @ 2007-08-01 0:45 UTC (permalink / raw)
To: Joachim Deguara
Cc: lkml List, Michal Piotrowski, Michael Chan, netdev, linux-acpi
In-Reply-To: <200707311128.32528.joachim.deguara@amd.com>
On Tue, 31 Jul 2007 11:28:32 +0200 "Joachim Deguara" <joachim.deguara@amd.com> wrote:
> On my Acer Ferrari 1000 the tg3 ethernet no longer is available after a
> suspend to ram with the latet 2.6.23-rc1-git9.
Thanks. cc's added, body retained..
> The tg3 works fine with s2ram
> in 2.6.22.1. The tell tail signs that is dead is this message from the
> kernel log:
>
> [ 6.754133] tg3: eth0: No firmware running.
> [ 6.816140] tg3: tg3_load_tso_firmware fails for eth0 to set CPU PC, is
> ffffffff should be 00010000
> [ 7.285797] ACPI: EC: Handler for query 0x80 is not found!
> [ 8.016223] tg3: tg3_abort_hw timed out for eth0, TX_MODE_ENABLE will not
> clear MAC_TX_MODE=ffffffff
>
> and trying to bring the link up resuls in:
>
> # ifconfig eth0 up
> SIOCSIFFLAGS: No such device
>
> Full kernel log follows.
>
> -Joachim
>
> [ 0.000000] Linux version 2.6.23-rc1-git9 (joachim@avanti) (gcc version
> 4.2.1 20070705 (prerelease) (SUSE Linux)) #13 SMP PREEMPT Tue Jul 31 11:15:02
> CEST 2007
> [ 0.000000] Command line:
> root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB2404SJHNT7YE-part6
> sysrq_always_enable resume=/dev/sda5 splash=silent showopts
> [ 0.000000] BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009dc00 (usable)
> [ 0.000000] BIOS-e820: 000000000009dc00 - 00000000000a0000 (reserved)
> [ 0.000000] BIOS-e820: 00000000000d0000 - 0000000000100000 (reserved)
> [ 0.000000] BIOS-e820: 0000000000100000 - 000000007be80000 (usable)
> [ 0.000000] BIOS-e820: 000000007be80000 - 000000007be95000 (ACPI data)
> [ 0.000000] BIOS-e820: 000000007be95000 - 000000007bf00000 (ACPI NVS)
> [ 0.000000] BIOS-e820: 000000007bf00000 - 0000000080000000 (reserved)
> [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
> [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
> [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
> [ 0.000000] BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
> [ 0.000000] Entering add_active_range(0, 0, 157) 0 entries of 3200 used
> [ 0.000000] Entering add_active_range(0, 256, 507520) 1 entries of 3200
> used
> [ 0.000000] end_pfn_map = 1048576
> [ 0.000000] DMI present.
> [ 0.000000] ACPI: RSDP 000F81A0, 0014 (r0 PTLTD )
> [ 0.000000] ACPI: RSDT 7BE8D65C, 003C (r1 ACRSYS ACRPRDCT 6040000 LTP
> 0)
> [ 0.000000] ACPI: FACP 7BE94B9A, 0074 (r1 ATI Bowfin 6040000 ATI
> F4240)
> [ 0.000000] ACPI: DSDT 7BE8D698, 7502 (r1 ATI SB460 6040000 MSFT
> 2000002)
> [ 0.000000] ACPI: FACS 7BE95FC0, 0040
> [ 0.000000] ACPI: SSDT 7BE94C0E, 01C4 (r1 PTLTD POWERNOW 6040000 LTP
> 1)
> [ 0.000000] ACPI: APIC 7BE94DD2, 0054 (r1 PTLTD APIC 6040000 LTP
> 0)
> [ 0.000000] ACPI: MCFG 7BE94E26, 003C (r1 PTLTD MCFG 6040000 LTP
> 0)
> [ 0.000000] ACPI: BOOT 7BE94E62, 0028 (r1 PTLTD $SBFTBL$ 6040000 LTP
> 1)
> [ 0.000000] ACPI: SLIC 7BE94E8A, 0176 (r1 ACRSYS ACRPRDCT 6040000 acer
> 0)
> [ 0.000000] Scanning NUMA topology in Northbridge 24
> [ 0.000000] CPU has 2 num_cores
> [ 0.000000] No NUMA configuration found
> [ 0.000000] Faking a node at 0000000000000000-000000007be80000
> [ 0.000000] Entering add_active_range(0, 0, 157) 0 entries of 3200 used
> [ 0.000000] Entering add_active_range(0, 256, 507520) 1 entries of 3200
> used
> [ 0.000000] Bootmem setup node 0 0000000000000000-000000007be80000
> [ 0.000000] Zone PFN ranges:
> [ 0.000000] DMA 0 -> 4096
> [ 0.000000] DMA32 4096 -> 1048576
> [ 0.000000] Normal 1048576 -> 1048576
> [ 0.000000] Movable zone start PFN for each node
> [ 0.000000] early_node_map[2] active PFN ranges
> [ 0.000000] 0: 0 -> 157
> [ 0.000000] 0: 256 -> 507520
> [ 0.000000] On node 0 totalpages: 507421
> [ 0.000000] DMA zone: 56 pages used for memmap
> [ 0.000000] DMA zone: 1957 pages reserved
> [ 0.000000] DMA zone: 1984 pages, LIFO batch:0
> [ 0.000000] DMA32 zone: 6882 pages used for memmap
> [ 0.000000] DMA32 zone: 496542 pages, LIFO batch:31
> [ 0.000000] Normal zone: 0 pages used for memmap
> [ 0.000000] Movable zone: 0 pages used for memmap
> [ 0.000000] ATI board detected. Disabling timer routing over 8254.
> [ 0.000000] ACPI: PM-Timer IO Port: 0x8008
> [ 0.000000] ACPI: Local APIC address 0xfee00000
> [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> [ 0.000000] Processor #0 (Bootup-CPU)
> [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
> [ 0.000000] Processor #1
> [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
> [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
> [ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
> [ 0.000000] IOAPIC[0]: apic_id 2, address 0xfec00000, GSI 0-23
> [ 0.000000] ACPI: IRQ9 used by override.
> [ 0.000000] Setting APIC routing to flat
> [ 0.000000] Using ACPI (MADT) for SMP configuration information
> [ 0.000000] swsusp: Registered nosave memory region: 000000000009d000 -
> 000000000009e000
> [ 0.000000] swsusp: Registered nosave memory region: 000000000009e000 -
> 00000000000a0000
> [ 0.000000] swsusp: Registered nosave memory region: 00000000000a0000 -
> 00000000000d0000
> [ 0.000000] swsusp: Registered nosave memory region: 00000000000d0000 -
> 0000000000100000
> [ 0.000000] Allocating PCI resources starting at 88000000 (gap:
> 80000000:60000000)
> [ 0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
> [ 0.000000] PERCPU: Allocating 32384 bytes of per cpu data
> [ 0.000000] Built 1 zonelists in Node order. Total pages: 498526
> [ 0.000000] Policy zone: DMA32
> [ 0.000000] Kernel command line:
> root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB2404SJHNT7YE-part6
> sysrq_always_enable resume=/dev/sda5 splash=silent showopts
> [ 0.000000] Initializing CPU#0
> [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
> [ 0.000000] Marking TSC unstable due to TSCs unsynchronized
> [ 9.332064] time.c: Detected 1800.121 MHz processor.
> [ 9.334073] Console: colour VGA+ 80x25
> [ 9.334077] console [tty0] enabled
> [ 9.340370] Checking aperture...
> [ 9.340460] CPU 0: aperture @ 109e000000 size 32 MB
> [ 9.340550] Aperture too small (32 MB)
> [ 9.352248] No AGP bridge found
> [ 9.370894] Memory: 1990856k/2030080k available (4029k kernel code, 38828k
> reserved, 2082k data, 316k init)
> [ 9.371084] SLUB: Genslabs=23, HWalign=64, Order=0-1, MinObjects=4, CPUs=2,
> Nodes=1
> [ 9.449887] Calibrating delay using timer specific routine.. 3603.97
> BogoMIPS (lpj=7207957)
> [ 9.450344] Dentry cache hash table entries: 262144 (order: 9, 2097152
> bytes)
> [ 9.451787] Inode-cache hash table entries: 131072 (order: 8, 1048576
> bytes)
> [ 9.452539] Mount-cache hash table entries: 256
> [ 9.452780] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64
> bytes/line)
> [ 9.452872] CPU: L2 Cache: 512K (64 bytes/line)
> [ 9.452962] CPU 0/0 -> Node 0
> [ 9.453053] CPU: Physical Processor ID: 0
> [ 9.453142] CPU: Processor Core ID: 0
> [ 9.453274] SMP alternatives: switching to UP code
> [ 9.455032] ACPI: Core revision 20070126
> [ 9.942195] Using local APIC timer interrupts.
> [ 9.997761] result 12500848
> [ 9.997854] Detected 12.500 MHz APIC timer.
> [ 10.001195] SMP alternatives: switching to SMP code
> [ 10.002410] Booting processor 1/2 APIC 0x1
> [ 10.012640] Initializing CPU#1
> [ 10.093011] Calibrating delay using timer specific routine.. 3600.36
> BogoMIPS (lpj=7200723)
> [ 10.093018] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64
> bytes/line)
> [ 10.093020] CPU: L2 Cache: 512K (64 bytes/line)
> [ 10.093023] CPU 1/1 -> Node 0
> [ 10.093025] CPU: Physical Processor ID: 0
> [ 10.093026] CPU: Processor Core ID: 1
> [ 10.093117] AMD Turion(tm) 64 X2 Mobile Technology TL-56 stepping 02
> [ 10.096955] Brought up 2 CPUs
> [ 10.098213] NET: Registered protocol family 16
> [ 10.098601] ACPI: ACPI Dock Station Driver
> [ 10.099074] ACPI: bus type pci registered
> [ 10.099450] PCI: Using MMCONFIG at e0000000 - e08fffff
> [ 10.099581] PCI: No mmconfig possible on device 00:18
> [ 10.104581] ACPI: System BIOS is requesting _OSI(Linux)
> [ 10.104680] ACPI: If "acpi_osi=Linux" works better,
> [ 10.104682] Please send dmidecode to linux-acpi@vger.kernel.org
> [ 10.105170] ACPI: Interpreter enabled
> [ 10.105263] ACPI: (supports S0 S3)
> [ 10.105483] ACPI: Using IOAPIC for interrupt routing
> [ 10.110906] ACPI: EC: GPE = 0x14, I/O: command/status = 0x66, data =
> 0x62<6>ACPI: PCI Root Bridge [PCI0] (0000:00)
> [ 10.141469] PCI: Transparent bridge - 0000:00:14.4
> [ 10.141642] PCI: Bus #09 (-#0c) is hidden behind transparent bridge #08
> (-#09) (try 'pci=assign-busses')
> [ 10.141785] Please report the result to <bk@suse.de> to fix this
> permanently
> [ 10.141910] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> [ 10.142100] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PB4_._PRT]
> [ 10.142239] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PB6_._PRT]
> [ 10.142372] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PB7_._PRT]
> [ 10.142518] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P_._PRT]
> [ 10.142653] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
> [ 10.146589] ACPI: PCI Interrupt Link [LNKA] (IRQs 10 11) *0, disabled.
> [ 10.147046] ACPI: PCI Interrupt Link [LNKB] (IRQs 10 11) *0, disabled.
> [ 10.147496] ACPI: PCI Interrupt Link [LNKC] (IRQs 10 11) *0, disabled.
> [ 10.147947] ACPI: PCI Interrupt Link [LNKD] (IRQs 10 11) *0, disabled.
> [ 10.148400] ACPI: PCI Interrupt Link [LNKE] (IRQs 10 11) *0, disabled.
> [ 10.148851] ACPI: PCI Interrupt Link [LNKF] (IRQs 10 11) *0, disabled.
> [ 10.149307] ACPI: PCI Interrupt Link [LNKG] (IRQs 10 11) *0, disabled.
> [ 10.149758] ACPI: PCI Interrupt Link [LNKH] (IRQs 10 11) *0, disabled.
> [ 10.150210] ACPI: PCI Interrupt Link [LNKU] (IRQs 3 4 5 7) *0, disabled.
> [ 10.150741] Linux Plug and Play Support v0.97 (c) Adam Belay
> [ 10.150861] pnp: PnP ACPI init
> [ 10.150959] ACPI: bus type pnp registered
> [ 10.153898] pnp: PnP ACPI: found 11 devices
> [ 10.153994] ACPI: ACPI bus type pnp unregistered
> [ 10.154319] SCSI subsystem initialized
> [ 10.154471] libata version 2.21 loaded.
> [ 10.154590] usbcore: registered new interface driver usbfs
> [ 10.154720] usbcore: registered new interface driver hub
> [ 10.154858] usbcore: registered new device driver usb
> [ 10.155099] PCI: Using ACPI for IRQ routing
> [ 10.155192] PCI: If a device doesn't work, try "pci=routeirq". If it
> helps, post a report
> [ 10.155336] PCI: Cannot allocate resource region 7 of bridge 0000:00:04.0
> [ 10.155428] PCI: Cannot allocate resource region 8 of bridge 0000:00:04.0
> [ 10.155522] PCI: Cannot allocate resource region 7 of bridge 0000:00:05.0
> [ 10.155617] PCI: Cannot allocate resource region 8 of bridge 0000:00:05.0
> [ 10.155712] PCI: Cannot allocate resource region 9 of bridge 0000:00:05.0
> [ 10.155806] PCI: Cannot allocate resource region 7 of bridge 0000:00:06.0
> [ 10.155901] PCI: Cannot allocate resource region 8 of bridge 0000:00:06.0
> [ 10.173290] Bluetooth: Core ver 2.11
> [ 10.173442] NET: Registered protocol family 31
> [ 10.173536] Bluetooth: HCI device and connection manager initialized
> [ 10.173632] Bluetooth: HCI socket layer initialized
> [ 10.185298] pnp: 00:01: iomem range 0xe0000000-0xefffffff could not be
> reserved
> [ 10.185442] pnp: 00:01: iomem range 0xfec00000-0xfec00fff could not be
> reserved
> [ 10.185585] pnp: 00:01: iomem range 0xfee00000-0xfee00fff could not be
> reserved
> [ 10.185734] pnp: 00:08: ioport range 0x1080-0x1080 has been reserved
> [ 10.185828] pnp: 00:08: ioport range 0x220-0x22f has been reserved
> [ 10.185925] pnp: 00:09: iomem range 0xe0000-0xfffff could not be reserved
> [ 10.186020] pnp: 00:09: iomem range 0xfff00000-0xffffffff could not be
> reserved
> [ 10.186161] pnp: 00:09: iomem range 0x0-0xfff could not be reserved
> [ 10.186765] ACPI: PCI Interrupt 0000:08:09.1[B] -> GSI 21 (level, low) ->
> IRQ 21
> [ 10.237089] ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[21]
> MMIO=[d0315000-d03157ff] Max Packet=[2048] IR/IT contexts=[4/8]
> [ 10.237361] PCI: Bridge: 0000:00:01.0
> [ 10.237454] IO window: 9000-9fff
> [ 10.237545] MEM window: d0100000-d01fffff
> [ 10.237637] PREFETCH window: d4000000-d7ffffff
> [ 10.237729] PCI: Bridge: 0000:00:04.0
> [ 10.239481] IO window: disabled.
> [ 10.239572] MEM window: disabled.
> [ 10.239665] PREFETCH window: disabled.
> [ 10.239756] PCI: Bridge: 0000:00:05.0
> [ 10.239848] IO window: disabled.
> [ 10.239939] MEM window: disabled.
> [ 10.240031] PREFETCH window: disabled.
> [ 10.240123] PCI: Bridge: 0000:00:06.0
> [ 10.240211] IO window: disabled.
> [ 10.240300] MEM window: disabled.
> [ 10.240392] PREFETCH window: disabled.
> [ 10.240484] PCI: Bridge: 0000:00:07.0
> [ 10.240575] IO window: disabled.
> [ 10.240667] MEM window: d0200000-d02fffff
> [ 10.240759] PREFETCH window: d8000000-d80fffff
> [ 10.240852] Time: acpi_pm clocksource has been installed.
> [ 10.240950] PCI: Bus 9, cardbus bridge: 0000:08:09.0
> [ 10.241042] IO window: 00002000-000020ff
> [ 10.241137] IO window: 00002400-000024ff
> [ 10.241231] PREFETCH window: 88000000-8bffffff
> [ 10.241323] MEM window: 90000000-93ffffff
> [ 10.241419] PCI: Bridge: 0000:00:14.4
> [ 10.241513] IO window: 2000-2fff
> [ 10.241609] MEM window: d0300000-d03fffff
> [ 10.241703] PREFETCH window: 88000000-8bffffff
> [ 10.241810] PCI: Setting latency timer of device 0000:00:04.0 to 64
> [ 10.241817] PCI: Setting latency timer of device 0000:00:05.0 to 64
> [ 10.241823] PCI: Setting latency timer of device 0000:00:06.0 to 64
> [ 10.241829] PCI: Enabling device 0000:00:07.0 (0000 -> 0002)
> [ 10.241924] PCI: Setting latency timer of device 0000:00:07.0 to 64
> [ 10.241946] PCI: Enabling device 0000:08:09.0 (0000 -> 0003)
> [ 10.242044] ACPI: PCI Interrupt 0000:08:09.0[A] -> GSI 20 (level, low) ->
> IRQ 20
> [ 10.242307] NET: Registered protocol family 2
> [ 10.285199] IP route cache hash table entries: 65536 (order: 7, 524288
> bytes)
> [ 10.286364] TCP established hash table entries: 262144 (order: 10, 6291456
> bytes)
> [ 10.289863] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
> [ 10.290582] TCP: Hash tables configured (established 262144 bind 65536)
> [ 10.290680] TCP reno registered
> [ 10.305240] Unpacking initramfs... done
> [ 10.417950] Freeing initrd memory: 3003k freed
> [ 10.419932] Simple Boot Flag at 0x36 set to 0x1
> [ 10.424565] NTFS driver 2.1.28 [Flags: R/W].
> [ 10.424877] io scheduler noop registered
> [ 10.425084] io scheduler cfq registered (default)
> [ 10.425183] PCI: MSI quirk detected. MSI deactivated.
> [ 10.425365] Boot video device is 0000:01:05.0
> [ 10.425520] ACPI: PCI Interrupt 0000:01:05.0[A] -> GSI 17 (level, low) ->
> IRQ 17
> [ 10.425715] radeonfb (0000:01:05.0): cannot map FB
> [ 10.425818] radeonfb: probe of 0000:01:05.0 failed with error -5
> [ 10.427811] ACPI: AC Adapter [ACAD] (on-line)
> [ 10.428003] ACPI: Battery Slot [BAT1] (battery absent)
> [ 10.428233] input: Power Button (FF) as /devices/virtual/input/input0
> [ 10.428328] ACPI: Power Button (FF) [PWRF]
> [ 10.428516] input: Power Button (CM) as /devices/virtual/input/input1
> [ 10.428609] ACPI: Power Button (CM) [PWRB]
> [ 10.428797] input: Lid Switch as /devices/virtual/input/input2
> [ 10.428890] ACPI: Lid Switch [LID]
> [ 10.429061] input: Sleep Button (CM) as /devices/virtual/input/input3
> [ 10.429155] ACPI: Sleep Button (CM) [SLPB]
> [ 10.435776] ACPI: Thermal Zone [THRM] (59 C)
> [ 10.438426] Real Time Clock Driver v1.12ac
> [ 10.438651] Non-volatile memory driver v1.2
> [ 10.438767] Linux agpgart interface v0.102
> [ 10.438859] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ
> sharing disabled
> [ 10.439686] loop: module loaded
> [ 10.439837] ACPI: PCI Interrupt 0000:08:09.2[A] -> GSI 20 (level, low) ->
> IRQ 20
> [ 10.440089] Intel(R) PRO/1000 Network Driver - version 7.3.20-k2
> [ 10.440187] Copyright (c) 1999-2006 Intel Corporation.
> [ 10.440323] e100: Intel(R) PRO/100 Network Driver, 3.5.23-k4-NAPI
> [ 10.440416] e100: Copyright(c) 1999-2006 Intel Corporation
> [ 10.440678] tg3.c:v3.79 (July 18, 2007)
> [ 10.440794] ACPI: PCI Interrupt 0000:08:04.0[A] -> GSI 22 (level, low) ->
> IRQ 22
> [ 10.460548] tifm_core: MMC/SD card detected in socket 0:1
> [ 10.482662] eth0: Tigon3 [partno(BCM95788) rev 3003 PHY(5705)]
> (PCI:33MHz:32-bit) 10/100/1000Base-T Ethernet 00:16:36:d0:6b:85
> [ 10.483042] eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[0]
> TSOcap[1]
> [ 10.483185] eth0: dma_rwctrl[763f0000] dma_mask[32-bit]
> [ 10.483458] forcedeth.c: Reverse Engineered nForce ethernet driver. Version
> 0.60.
> [ 10.483639] tun: Universal TUN/TAP device driver, 1.6
> [ 10.483732] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> [ 10.483904] bcm43xx driver
> [ 10.484034] netconsole: not configured, aborting
> [ 10.484127] Linux video capture interface: v2.00
> [ 10.484653] sata_sil 0000:00:12.0: version 2.2
> [ 10.484702] PCI: Enabling device 0000:00:12.0 (0005 -> 0007)
> [ 10.484798] ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 22 (level, low) ->
> IRQ 22
> [ 10.485079] scsi0 : sata_sil
> [ 10.485240] scsi1 : sata_sil
> [ 10.485381] ata1: SATA max UDMA/100 cmd 0xffffc20000338080 ctl
> 0xffffc2000033808a bmdma 0xffffc20000338000 irq 22
> [ 10.485526] ata2: SATA max UDMA/100 cmd 0xffffc200003380c0 ctl
> 0xffffc200003380ca bmdma 0xffffc20000338008 irq 22
> [ 10.952123] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [ 10.960743] ata1.00: ATA-7: Hitachi HTS541616J9SA00, SB4OC70P, max UDMA/100
> [ 10.960837] ata1.00: 312581808 sectors, multi 16: LBA48 NCQ (not used)
> [ 10.976713] ata1.00: configured for UDMA/100
> [ 11.287593] ata2: SATA link down (SStatus 0 SControl 310)
> [ 11.287777] scsi 0:0:0:0: Direct-Access ATA Hitachi HTS54161 SB4O
> PQ: 0 ANSI: 5
> [ 11.288015] sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042
> MB)
> [ 11.288119] sd 0:0:0:0: [sda] Write Protect is off
> [ 11.288211] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [ 11.288229] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled,
> doesn't support DPO or FUA
> [ 11.288414] sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042
> MB)
> [ 11.288517] sd 0:0:0:0: [sda] Write Protect is off
> [ 11.288608] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [ 11.288624] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled,
> doesn't support DPO or FUA
> [ 11.288769] sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 >
> [ 11.376058] sd 0:0:0:0: [sda] Attached SCSI disk
> [ 11.376218] sd 0:0:0:0: Attached scsi generic sg0 type 0
> [ 11.376469] PCI: Enabling device 0000:00:14.1 (0014 -> 0015)
> [ 11.376566] ACPI: PCI Interrupt 0000:00:14.1[A] -> GSI 16 (level, low) ->
> IRQ 16
> [ 11.376792] PCI: Setting latency timer of device 0000:00:14.1 to 64
> [ 11.376854] scsi2 : pata_atiixp
> [ 11.377011] scsi3 : pata_atiixp
> [ 11.377145] ata3: PATA max UDMA/100 cmd 0x00000000000101f0 ctl
> 0x00000000000103f6 bmdma 0x0000000000018460 irq 14
> [ 11.377290] ata4: PATA max UDMA/100 cmd 0x0000000000010170 ctl
> 0x0000000000010376 bmdma 0x0000000000018468 irq 15
> [ 11.377454] ata3: port disabled. ignoring.
> [ 11.507405] ieee1394: Host added: ID:BUS[0-00:1023] GUID[00c09f0000dc3542]
> [ 11.531280] Fusion MPT base driver 3.04.05
> [ 11.531373] Copyright (c) 1999-2007 LSI Logic Corporation
> [ 11.531469] Fusion MPT SAS Host driver 3.04.05
> [ 11.531673] video1394: Installed video1394 module
> [ 11.531799] ieee1394: raw1394: /dev/raw1394 device initialized
> [ 11.531950] usbmon: debugfs is not available
> [ 11.532091] ACPI: PCI Interrupt 0000:00:13.2[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 11.532289] ehci_hcd 0000:00:13.2: EHCI Host Controller
> [ 11.532439] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus
> number 1
> [ 11.532635] ehci_hcd 0000:00:13.2: irq 19, io mem 0xd0007000
> [ 11.532740] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00, driver 10
> Dec 2004
> [ 11.533073] usb usb1: configuration #1 chosen from 1 choice
> [ 11.533211] hub 1-0:1.0: USB hub found
> [ 11.533310] hub 1-0:1.0: 8 ports detected
> [ 11.635127] ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI)
> Driver
> [ 11.635169] ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 11.635363] ohci_hcd 0000:00:13.0: OHCI Host Controller
> [ 11.635493] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus
> number 2
> [ 11.635647] ohci_hcd 0000:00:13.0: irq 19, io mem 0xd0005000
> [ 11.691108] usb usb2: configuration #1 chosen from 1 choice
> [ 11.691241] hub 2-0:1.0: USB hub found
> [ 11.691343] hub 2-0:1.0: 4 ports detected
> [ 11.794883] ACPI: PCI Interrupt 0000:00:13.1[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 11.795077] ohci_hcd 0000:00:13.1: OHCI Host Controller
> [ 11.795206] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bus
> number 3
> [ 11.795359] ohci_hcd 0000:00:13.1: irq 19, io mem 0xd0006000
> [ 11.850887] usb usb3: configuration #1 chosen from 1 choice
> [ 11.851018] hub 3-0:1.0: USB hub found
> [ 11.851120] hub 3-0:1.0: 4 ports detected
> [ 11.874713] usb 1-7: new high speed USB device using ehci_hcd and address 2
> [ 12.047389] usb 1-7: configuration #1 chosen from 1 choice
> [ 12.589616] usb 3-4: new full speed USB device using ohci_hcd and address 2
> [ 12.802424] usb 3-4: configuration #1 chosen from 1 choice
> [ 12.804820] usbcore: registered new interface driver usblp
> [ 12.804914] Initializing USB Mass Storage driver...
> [ 12.805058] usbcore: registered new interface driver usb-storage
> [ 12.805151] USB Mass Storage support registered.
> [ 12.805331] PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64
> irq 1,12
> [ 12.807490] i8042.c: Detected active multiplexing controller, rev 1.1.
> [ 12.810494] serio: i8042 KBD port at 0x60,0x64 irq 1
> [ 12.810591] serio: i8042 AUX0 port at 0x60,0x64 irq 12
> [ 12.810687] serio: i8042 AUX1 port at 0x60,0x64 irq 12
> [ 12.810782] serio: i8042 AUX2 port at 0x60,0x64 irq 12
> [ 12.810875] serio: i8042 AUX3 port at 0x60,0x64 irq 12
> [ 12.811030] mice: PS/2 mouse device common for all mice
> [ 12.843496] input: AT Translated Set 2 keyboard
> as /devices/platform/i8042/serio0/input/input4
> [ 12.979654] md: raid0 personality registered for level 0
> [ 12.979755] md: raid1 personality registered for level 1
> [ 12.979850] Bluetooth: HCI USB driver ver 2.9
> [ 12.980065] usbcore: registered new interface driver hci_usb
> [ 13.036963] usbcore: registered new interface driver usbhid
> [ 13.037058] /home/joachim/kernel/2.6-git/drivers/hid/usbhid/hid-core.c:
> v2.6:USB HID core driver
> [ 13.037237] Advanced Linux Sound Architecture Driver Version 1.0.14 (Fri
> Jul 20 09:12:58 2007 UTC).
> [ 13.037491] ACPI: PCI Interrupt 0000:00:14.2[A] -> GSI 16 (level, low) ->
> IRQ 16
> [ 13.109129] ALSA device list:
> [ 13.109242] #0: HDA ATI SB at 0xd0000000 irq 16
> [ 13.109404] oprofile: using NMI interrupt.
> [ 13.109565] IPv4 over IPv4 tunneling driver
> [ 13.109778] TCP cubic registered
> [ 13.109886] Initializing XFRM netlink socket
> [ 13.109994] NET: Registered protocol family 1
> [ 13.110088] NET: Registered protocol family 17
> [ 13.110182] NET: Registered protocol family 15
> [ 13.110282] Bluetooth: L2CAP ver 2.8
> [ 13.110374] Bluetooth: L2CAP socket layer initialized
> [ 13.110479] Bluetooth: SCO (Voice Link) ver 0.5
> [ 13.110571] Bluetooth: SCO socket layer initialized
> [ 13.110690] Bluetooth: RFCOMM socket layer initialized
> [ 13.110781] Bluetooth: RFCOMM ver 1.8
> [ 13.110872] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
> [ 13.111064] ieee80211: 802.11 data/management/control stack, git-1.1.13
> [ 13.111162] ieee80211: Copyright (C) 2004-2005 Intel Corporation
> <jketreno@linux.intel.com>
> [ 13.111306] ieee80211_crypt: registered algorithm 'NULL'
> [ 13.111308] ieee80211_crypt: registered algorithm 'WEP'
> [ 13.111310] ieee80211_crypt: registered algorithm 'CCMP'
> [ 13.111401] powernow-k8: Found 1 AMD Turion(tm) 64 X2 Mobile Technology
> TL-56 processors (2 cpu cores) (version 2.00.00)
> [ 13.111517] powernow-k8: 0 : fid 0xa (1800 MHz), vid 0x13
> [ 13.111613] powernow-k8: 1 : fid 0x8 (1600 MHz), vid 0x15
> [ 13.111706] powernow-k8: 2 : fid 0x0 (800 MHz), vid 0x1e
> [ 13.112312] Freeing unused kernel memory: 316k freed
> [ 13.376787] mmc0: new SD card at address b3df
> [ 13.379000] mmcblk0: mmc0:b3df SD256 249088KiB
> [ 13.379138] mmcblk0: p1
> [ 13.701868] Synaptics Touchpad, model: 1, fw: 5.10, id: 0x258eb1, caps:
> 0xa04713/0x0
> [ 13.748179] input: SynPS/2 Synaptics TouchPad
> as /devices/platform/i8042/serio4/input/input5
> [ 13.803993] swsusp: Marking nosave pages: 000000000009d000 -
> 0000000000100000
> [ 13.804000] swsusp: Basic memory bitmaps created
> [ 13.831072] swsusp: Basic memory bitmaps freed
> [ 13.848203] Attempting manual resume
> [ 14.229088] kjournald starting. Commit interval 5 seconds
> [ 14.229210] EXT3 FS on sda6, internal journal
> [ 14.229345] EXT3-fs: mounted filesystem with ordered data mode.
> [ 18.266036] Adding 3148700k swap on /dev/sda5. Priority:-1 extents:1
> across:3148700k
> [ 18.390490] md: Autodetecting RAID arrays.
> [ 18.390589] md: autorun ...
> [ 18.390680] md: ... autorun DONE.
> [ 19.440964] kjournald starting. Commit interval 5 seconds
> [ 19.441097] EXT3 FS on sda7, internal journal
> [ 19.441231] EXT3-fs: mounted filesystem with ordered data mode.
> [ 19.502969] NTFS volume version 3.1.
> [ 19.503070] NTFS-fs warning (device sda2): load_system_files(): Volume is
> dirty. Will not be able to remount read-write. Run chkdsk and mount in
> Windows.
> [ 33.416925] tg3: eth0: Link is up at 1000 Mbps, full duplex.
> [ 33.416931] tg3: eth0: Flow control is on for TX and on for RX.
> [ 34.800494] ACPI: EC: Handler for query 0x81 is not found!
> [ 40.588481] Stopping tasks ... done.
> [ 40.589928] Suspending console(s)
> [ 41.223742] sd 0:0:0:0: [sda] Synchronizing SCSI cache
> [ 41.223976] sd 0:0:0:0: [sda] Stopping disk
> [ 41.707281] mmc0: card b3df removed
> [ 41.707446] MMC: killing requests for dead queue
> [ 41.707638] ACPI handle has no context!
> [ 41.707658] ACPI: PCI interrupt for device 0000:08:09.2 disabled
> [ 41.707665] ACPI handle has no context!
> [ 41.720957] ACPI handle has no context!
> [ 41.737176] ACPI: PCI interrupt for device 0000:00:14.2 disabled
> [ 41.752920] ACPI: PCI interrupt for device 0000:00:14.1 disabled
> [ 41.753010] ACPI: PCI interrupt for device 0000:00:13.2 disabled
> [ 41.768858] ACPI: PCI interrupt for device 0000:00:13.1 disabled
> [ 41.768894] ACPI: PCI interrupt for device 0000:00:13.0 disabled
> [ 41.768978] ACPI: PCI interrupt for device 0000:00:12.0 disabled
> [ 41.785175] Disabling non-boot CPUs ...
> [ 41.801866] Broke affinity for irq 1
> [ 41.801881] Broke affinity for irq 9
> [ 41.801917] Broke affinity for irq 22
> [ 41.904558] CPU 1 is now offline
> [ 41.904561] SMP alternatives: switching to UP code
> [ 41.906395] CPU1 is down
> [ 0.360942] Back to C!
> [ 0.361327] Enabling non-boot CPUs ...
> [ 0.381083] SMP alternatives: switching to SMP code
> [ 0.382068] Booting processor 1/2 APIC 0x1
> [ 0.392138] Initializing CPU#1
> [ 0.472858] Calibrating delay using timer specific routine.. 3600.39
> BogoMIPS (lpj=7200794)
> [ 0.472865] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64
> bytes/line)
> [ 0.472867] CPU: L2 Cache: 512K (64 bytes/line)
> [ 0.472870] CPU 1/1 -> Node 0
> [ 0.472872] CPU: Physical Processor ID: 0
> [ 0.472873] CPU: Processor Core ID: 1
> [ 0.472956] AMD Turion(tm) 64 X2 Mobile Technology TL-56 stepping 02
> [ 0.477189] CPU1 is up
> [ 0.479439] PM: Writing back config space on device 0000:00:00.0 at offset
> 3 (was 0, writing 4000)
> [ 0.479449] PM: Writing back config space on device 0000:00:01.0 at offset
> 9 (was 10001, writing d7f1d401)
> [ 0.479454] PM: Writing back config space on device 0000:00:01.0 at offset
> 7 (was 22209191, writing 2209191)
> [ 0.479470] PM: Writing back config space on device 0000:00:04.0 at offset
> 9 (was 10001, writing 1fff1)
> [ 0.479473] PM: Writing back config space on device 0000:00:04.0 at offset
> 8 (was 0, writing fff0)
> [ 0.479477] PM: Writing back config space on device 0000:00:04.0 at offset
> 7 (was 101, writing 1f1)
> [ 0.479480] PM: Writing back config space on device 0000:00:04.0 at offset
> 6 (was 0, writing 20200)
> [ 0.479485] PM: Writing back config space on device 0000:00:04.0 at offset
> 1 (was 100000, writing 100004)
> [ 0.479498] PCI: Setting latency timer of device 0000:00:04.0 to 64
> [ 0.479505] PM: Writing back config space on device 0000:00:05.0 at offset
> 9 (was 10001, writing 1fff1)
> [ 0.479509] PM: Writing back config space on device 0000:00:05.0 at offset
> 8 (was 0, writing fff0)
> [ 0.479512] PM: Writing back config space on device 0000:00:05.0 at offset
> 7 (was 101, writing 1f1)
> [ 0.479517] PM: Writing back config space on device 0000:00:05.0 at offset
> 1 (was 100000, writing 100004)
> [ 0.479528] PCI: Setting latency timer of device 0000:00:05.0 to 64
> [ 0.479535] PM: Writing back config space on device 0000:00:06.0 at offset
> 9 (was 10001, writing 1fff1)
> [ 0.479539] PM: Writing back config space on device 0000:00:06.0 at offset
> 8 (was 0, writing fff0)
> [ 0.479542] PM: Writing back config space on device 0000:00:06.0 at offset
> 7 (was 101, writing 1f1)
> [ 0.479546] PM: Writing back config space on device 0000:00:06.0 at offset
> 6 (was 0, writing 60600)
> [ 0.479550] PM: Writing back config space on device 0000:00:06.0 at offset
> 1 (was 100000, writing 100004)
> [ 0.479561] PCI: Setting latency timer of device 0000:00:06.0 to 64
> [ 0.479569] PM: Writing back config space on device 0000:00:07.0 at offset
> 9 (was 10001, writing d801d801)
> [ 0.479572] PM: Writing back config space on device 0000:00:07.0 at offset
> 8 (was 0, writing d020d020)
> [ 0.479576] PM: Writing back config space on device 0000:00:07.0 at offset
> 7 (was 101, writing 200001f1)
> [ 0.479579] PM: Writing back config space on device 0000:00:07.0 at offset
> 6 (was 0, writing 70700)
> [ 0.479584] PM: Writing back config space on device 0000:00:07.0 at offset
> 1 (was 100000, writing 100006)
> [ 0.479595] PCI: Setting latency timer of device 0000:00:07.0 to 64
> [ 0.496881] ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 22 (level, low) ->
> IRQ 22
> [ 0.496902] ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 0.496946] PM: Writing back config space on device 0000:00:13.0 at offset
> 3 (was 804008, writing 804010)
> [ 0.496961] ACPI: PCI Interrupt 0000:00:13.1[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 0.512807] ACPI: PCI Interrupt 0000:00:13.2[A] -> GSI 19 (level, low) ->
> IRQ 19
> [ 0.512927] PM: Writing back config space on device 0000:00:14.1 at offset
> f (was 100, writing 10b)
> [ 0.512942] PM: Writing back config space on device 0000:00:14.1 at offset
> 8 (was 1, writing 8461)
> [ 0.512948] PM: Writing back config space on device 0000:00:14.1 at offset
> 7 (was 1, writing 8471)
> [ 0.512953] PM: Writing back config space on device 0000:00:14.1 at offset
> 6 (was 1, writing 8479)
> [ 0.512959] PM: Writing back config space on device 0000:00:14.1 at offset
> 5 (was 1, writing 8475)
> [ 0.512965] PM: Writing back config space on device 0000:00:14.1 at offset
> 4 (was 1, writing 8481)
> [ 0.512971] PM: Writing back config space on device 0000:00:14.1 at offset
> 3 (was 0, writing 4000)
> [ 0.512976] PM: Writing back config space on device 0000:00:14.1 at offset
> 2 (was 1018280, writing 1018080)
> [ 0.512982] PM: Writing back config space on device 0000:00:14.1 at offset
> 1 (was 2300000, writing 2300015)
> [ 0.513002] ACPI: PCI Interrupt 0000:00:14.1[A] -> GSI 16 (level, low) ->
> IRQ 16
> [ 0.528794] PM: Writing back config space on device 0000:00:14.2 at offset
> f (was 100, writing b)
> [ 0.528816] PM: Writing back config space on device 0000:00:14.2 at offset
> 4 (was 4, writing d0000004)
> [ 0.528822] PM: Writing back config space on device 0000:00:14.2 at offset
> 3 (was 0, writing 4008)
> [ 0.528829] PM: Writing back config space on device 0000:00:14.2 at offset
> 1 (was 4100000, writing 4100002)
> [ 0.528850] ACPI: PCI Interrupt 0000:00:14.2[A] -> GSI 16 (level, low) ->
> IRQ 16
> [ 0.585029] PM: Writing back config space on device 0000:00:14.4 at offset
> 9 (was 0, writing 8bf08800)
> [ 0.585035] PM: Writing back config space on device 0000:00:14.4 at offset
> 8 (was 0, writing d030d030)
> [ 0.585041] PM: Writing back config space on device 0000:00:14.4 at offset
> 7 (was 22801111, writing 22802121)
> [ 0.585052] PM: Writing back config space on device 0000:00:14.4 at offset
> 3 (was 810000, writing 814000)
> [ 0.585059] PM: Writing back config space on device 0000:00:14.4 at offset
> 1 (was 2a00021, writing 2a00007)
> [ 0.585114] ACPI: PCI Interrupt 0000:01:05.0[A] -> GSI 17 (level, low) ->
> IRQ 17
> [ 0.585132] PM: Writing back config space on device 0000:07:00.0 at offset
> f (was 100, writing 10b)
> [ 0.585151] PM: Writing back config space on device 0000:07:00.0 at offset
> 6 (was c, writing d800000c)
> [ 0.585157] PM: Writing back config space on device 0000:07:00.0 at offset
> 4 (was 4, writing d0200004)
> [ 0.585194] PM: Writing back config space on device 0000:08:09.0 at offset
> f (was c001ff, writing 1c0010b)
> [ 0.585200] PM: Writing back config space on device 0000:08:09.0 at offset
> e (was 0, writing 24fc)
> [ 0.585207] PM: Writing back config space on device 0000:08:09.0 at offset
> d (was 0, writing 2400)
> [ 0.585215] PM: Writing back config space on device 0000:08:09.0 at offset
> c (was 0, writing 20fc)
> [ 0.585221] PM: Writing back config space on device 0000:08:09.0 at offset
> b (was 0, writing 2000)
> [ 0.585227] PM: Writing back config space on device 0000:08:09.0 at offset
> a (was 0, writing 93fff000)
> [ 0.585236] PM: Writing back config space on device 0000:08:09.0 at offset
> 9 (was 0, writing 90000000)
> [ 0.585242] PM: Writing back config space on device 0000:08:09.0 at offset
> 8 (was 0, writing 8bfff000)
> [ 0.585249] PM: Writing back config space on device 0000:08:09.0 at offset
> 7 (was 0, writing 88000000)
> [ 0.585257] PM: Writing back config space on device 0000:08:09.0 at offset
> 6 (was 0, writing b00c0908)
> [ 0.585265] PM: Writing back config space on device 0000:08:09.0 at offset
> 4 (was 0, writing d0314000)
> [ 0.585273] PM: Writing back config space on device 0000:08:09.0 at offset
> 3 (was 820000, writing 824008)
> [ 0.585281] PM: Writing back config space on device 0000:08:09.0 at offset
> 1 (was 2100000, writing 2100007)
> [ 0.585313] ACPI: PCI Interrupt 0000:08:09.0[A] -> GSI 20 (level, low) ->
> IRQ 20
> [ 0.600687] PM: Writing back config space on device 0000:08:09.1 at offset
> f (was 4030200, writing 403020b)
> [ 0.600711] PM: Writing back config space on device 0000:08:09.1 at offset
> 5 (was 0, writing d0310000)
> [ 0.600718] PM: Writing back config space on device 0000:08:09.1 at offset
> 4 (was 0, writing d0315000)
> [ 0.600725] PM: Writing back config space on device 0000:08:09.1 at offset
> 3 (was 800000, writing 804008)
> [ 0.600735] PM: Writing back config space on device 0000:08:09.1 at offset
> 1 (was 2100000, writing 2100016)
> [ 0.650712] ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[21]
> MMIO=[d0315000-d03157ff] Max Packet=[2048] IR/IT contexts=[4/8]
> [ 0.664592] PM: Writing back config space on device 0000:08:09.2 at offset
> f (was 40701ff, writing 407010b)
> [ 0.664618] PM: Writing back config space on device 0000:08:09.2 at offset
> 4 (was 0, writing d0316000)
> [ 0.664625] PM: Writing back config space on device 0000:08:09.2 at offset
> 3 (was 800000, writing 804008)
> [ 0.664633] PM: Writing back config space on device 0000:08:09.2 at offset
> 1 (was 2100000, writing 2100006)
> [ 0.664656] ACPI: PCI Interrupt 0000:08:09.2[A] -> GSI 20 (level, low) ->
> IRQ 20
> [ 0.733792] ACPI: EC: Handler for query 0x80 is not found!
> [ 0.752456] sd 0:0:0:0: [sda] Starting disk
> [ 0.820363] ata2: SATA link down (SStatus 0 SControl 310)
> [ 1.087869] mmc0: new SD card at address b3df
> [ 1.087973] mmcblk0: mmc0:b3df SD256 249088KiB
> [ 1.088001] mmcblk0: p1
> [ 1.739362] ACPI: EC: Handler for query 0x80 is not found!
> [ 3.716115] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [ 3.744731] ata1.00: configured for UDMA/100
> [ 3.761238] sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042
> MB)
> [ 3.761253] sd 0:0:0:0: [sda] Write Protect is off
> [ 3.761256] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [ 3.761275] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled,
> doesn't support DPO or FUA
> [ 4.701254] Restarting tasks ... <6>usb 1-7: USB disconnect, address 2
> [ 4.707688] done.
> [ 4.812091] usb 1-7: new high speed USB device using ehci_hcd and address 4
> [ 4.865420] ACPI: EC: Handler for query 0x80 is not found!
> [ 4.985101] usb 1-7: configuration #1 chosen from 1 choice
> [ 6.302539] ACPI: EC: Handler for query 0x80 is not found!
> [ 6.754133] tg3: eth0: No firmware running.
> [ 6.816140] tg3: tg3_load_tso_firmware fails for eth0 to set CPU PC, is
> ffffffff should be 00010000
> [ 7.285797] ACPI: EC: Handler for query 0x80 is not found!
> [ 8.016223] tg3: tg3_abort_hw timed out for eth0, TX_MODE_ENABLE will not
> clear MAC_TX_MODE=ffffffff
> [ 8.291669] ACPI: EC: Handler for query 0x80 is not found!
> [ 9.296809] ACPI: EC: Handler for query 0x80 is not found!
> [ 9.940778] usb 3-4: USB disconnect, address 2
> [ 10.282030] ACPI: EC: Handler for query 0x81 is not found!
> [ 10.367084] usb 3-4: new full speed USB device using ohci_hcd and address 3
> [ 10.462150] usb 3-4: configuration #1 chosen from 1 choice
> [ 10.727884] ACPI: EC: Handler for query 0x81 is not found!
> [ 11.173888] ACPI: EC: Handler for query 0x81 is not found!
> [ 12.512423] ACPI: EC: Handler for query 0x81 is not found!
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply
* [OOPS] 2.6.23-rc1 Seems to be network related
From: Bongani Hlope @ 2007-08-01 0:57 UTC (permalink / raw)
To: akpm, jgarzik; +Cc: netdev, linux-kernel
Hi
I'm not sure if the first email went through, resending without .config
attachment.
I got this partial Oops on my work laptop (DELL D800), while using the linux
2.6.23-rc1 kernel. I've been using this kernel ever since it was released and
this is the first and only time it did not boot. It was around the time it
should have been trying to connect to my linksys wireless router (which has
been working fine everyday since the 2.6.23-rc1 kernel was released).
I copied what was on screen by hand, so some info is missing. I don't know how
to reproduce it.
Call Trace:
[<c0104cbc>] show_trace_log_lvl+0x1a/0x2f
[<c0104d6c>] show_stack_log_lvl+0x9b/0xa3
[<c0104f36>] show_registers+0x1c2/0x2db
[<c0105151>] die+0x02/0x1de
[<c01052b6>] do_trap+0x89/0xa2
[<c010558e>] do_invalid_op+0x88/0x92
[<c035a162>] error_code+0x6a/0x70
[<c0114efa>] kmap_atomic+0xe/0x10
[<c014a29c>] get_page_from_freelist+0x24c/0x3...
[<c015dd06>] __alloc_pages+0x53/0x27d
[<c015da60>] kmem_cache_alloc+0x32/0x68
[<c02e5065>] dst_alloc+0x28/0x60
[<c02f45fe>] ip_route_input+0x9b9/0xbba
[<c0314835>] arp_process+0x155/0x4e1
[<c0314caa>] arp_rcv+0xe9/0xfd
[<c02e1660>] netif_receive_skb+0x16e/0x1eb
[<c02e2efa>] process_backlog+0x71/0xda
[<c02e2fb9>] net_rx_action+0x56/0xee
[<c011f437>] __do_softirq+0x38/0x7a
[<c0106145>] do_soft_irq+0x41/0x91
[<c011f3c5>] irq_exit+0x2c/0x66
[<c010644a>] do_IRQ+0xb7/0xcd
[<c01047eb>] common_interrupt+0x23/0x28
[<c0151f87>] handle_mm_fault+0x1fe/0x57e
[<c035a162>] error_code+0x6a/0x70
=======================
EIP: [<c0114e87>] kmap_atomic_prot+0x27/0x8..
Linux bongani_nb 2.6.23-rc1 #4 PREEMPT Mon Jul 23 12:11:40 SAST 2007 i686
Intel(R) Pentium(R) M processor 1600MHz GNU/Linux
Gnu C 4.1.2
Gnu make 3.81
binutils 2.17.50.0.9
util-linux 2.12r
mount 2.12r
module-init-tools 3.3-pre2
e2fsprogs 1.39
pcmciautils 014
PPP 2.4.4
Linux C Library > libc.2.4
Dynamic linker (ldd) 2.4
Procps 3.2.7
Net-tools 1.60
Console-tools 0.2.3
Sh-utils 5.97
udev 106
wireless-tools 28
Modules Loaded tg3 snd_seq_dummy snd_seq_oss snd_seq_midi_event
snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_intel8x0 snd_ac97_codec
ac97_bus snd_pcm snd_timer snd_page_alloc snd soundcore video output thermal
sbs processor fan container button battery ac pcmcia yenta_socket
rsrc_nonstatic pcmcia_core intel_agp hidp nvram rfcomm l2cap ipw2100
ieee80211 ieee80211_crypt usbhid hci_usb bluetooth ohci1394 ieee1394 ehci_hcd
uhci_hcd joydev evdev
I'm sorry I can't provide more info, this is completely random and it's the
first time it ever happened.
^ permalink raw reply
* Re: [OOPS] 2.6.23-rc1 Seems to be network related
From: Andrew Morton @ 2007-08-01 1:04 UTC (permalink / raw)
To: Bongani Hlope; +Cc: jgarzik, netdev, linux-kernel
In-Reply-To: <200708010257.48417.bonganilinux@mweb.co.za>
On Wed, 1 Aug 2007 02:57:48 +0200 Bongani Hlope <bonganilinux@mweb.co.za> wrote:
> I'm not sure if the first email went through, resending without .config
> attachment.
It did come through, and I replied ;)
The below post-2.6.23-rc1 patch should fix it.
commit b8c1c5da1520977cb55a358f20fc09567d40cad9
Author: Andrew Morton <akpm@linux-foundation.org>
Date: Tue Jul 24 12:02:40 2007 -0700
slab: correctly handle __GFP_ZERO
Use the correct local variable when calling into the page allocator. Local
`flags' can have __GFP_ZERO set, which causes us to pass __GFP_ZERO into the
page allocator, possibly from illegal contexts. The page allocator will later
do prep_zero_page()->kmap_atomic(..., KM_USER0) from irq contexts and will
then go BUG.
Cc: Mike Galbraith <efault@gmx.de>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/mm/slab.c b/mm/slab.c
index bde271c..a684778 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2776,7 +2776,7 @@ static int cache_grow(struct kmem_cache
* 'nodeid'.
*/
if (!objp)
- objp = kmem_getpages(cachep, flags, nodeid);
+ objp = kmem_getpages(cachep, local_flags, nodeid);
if (!objp)
goto failed;
^ permalink raw reply related
* Re: [PATCH] SCTP: drop SACK if ctsn is not less than the next tsn of assoc
From: Wei Yongjun @ 2007-08-01 1:06 UTC (permalink / raw)
To: Sridhar Samudrala; +Cc: Neil Horman, netdev, lksctp-developers
In-Reply-To: <1185902894.8234.5.camel@localhost.localdomain>
> On Tue, 2007-07-31 at 07:37 -0400, Neil Horman wrote:
>
>> On Tue, Jul 31, 2007 at 12:44:27PM +0800, Wei Yongjun wrote:
>>
>>> If SCTP data sender received a SACK which contains Cumulative TSN Ack is
>>> not less than the Cumulative TSN Ack Point, and if this Cumulative TSN
>>> Ack is not used by the data sender, SCTP data sender still accept this
>>> SACK , and next SACK which send correctly to DATA sender be dropped,
>>> because it is less than the new Cumulative TSN Ack Point.
>>> After received this SACK, data will be retrans again and again even if
>>> correct SACK is received.
>>> So I think this SACK must be dropped to let data transmit correctly.
>>>
>>> Following is the tcpdump of my test. And patch in this mail can avoid
>>> this problem.
>>>
>>> 02:19:38.233278 sctp (1) [INIT] [init tag: 1250461886] [rwnd: 54784] [OS: 10] [MIS: 65535] [init TSN: 217114040]
>>> 02:19:39.782160 sctp (1) [INIT ACK] [init tag: 1] [rwnd: 54784] [OS: 100] [MIS: 65535] [init TSN: 100]
>>> 02:19:39.798583 sctp (1) [COOKIE ECHO]
>>> 02:19:40.082125 sctp (1) [COOKIE ACK]
>>> 02:19:40.097859 sctp (1) [DATA] (B)(E) [TSN: 217114040] [SID: 0] [SSEQ 0] [PPID 0xf192090b]
>>> 02:19:40.100162 sctp (1) [DATA] (B)(E) [TSN: 217114041] [SID: 0] [SSEQ 1] [PPID 0x3e467007]
>>> 02:19:40.100779 sctp (1) [DATA] (B)(E) [TSN: 217114042] [SID: 0] [SSEQ 2] [PPID 0x11b12a0a]
>>> 02:19:40.101200 sctp (1) [DATA] (B)(E) [TSN: 217114043] [SID: 0] [SSEQ 3] [PPID 0x30e7d979]
>>> 02:19:40.561147 sctp (1) [SACK] [cum ack 217114040] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:40.568498 sctp (1) [DATA] (B)(E) [TSN: 217114044] [SID: 0] [SSEQ 4] [PPID 0x251ff86f]
>>> 02:19:40.569308 sctp (1) [DATA] (B)(E) [TSN: 217114045] [SID: 0] [SSEQ 5] [PPID 0xe5d5da5d]
>>> 02:19:40.700584 sctp (1) [SACK] [cum ack 290855864] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:40.701562 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:40.701567 sctp (1) [DATA] (B)(E) [TSN: 217114047] [SID: 0] [SSEQ 7] [PPID 0xca47e645]
>>> 02:19:40.701569 sctp (1) [DATA] (B)(E) [TSN: 217114048] [SID: 0] [SSEQ 8] [PPID 0x6c0ea150]
>>> 02:19:40.701576 sctp (1) [DATA] (B)(E) [TSN: 217114049] [SID: 0] [SSEQ 9] [PPID 0x9cc1994f]
>>> 02:19:40.701585 sctp (1) [DATA] (B)(E) [TSN: 217114050] [SID: 0] [SSEQ 10] [PPID 0xb1df4129]
>>> 02:19:41.098201 sctp (1) [SACK] [cum ack 217114041] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:41.283257 sctp (1) [SACK] [cum ack 217114042] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:41.457217 sctp (1) [SACK] [cum ack 217114043] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:41.691528 sctp (1) [SACK] [cum ack 217114044] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:41.849636 sctp (1) [SACK] [cum ack 217114045] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:41.975473 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:42.021229 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:42.196495 sctp (1) [SACK] [cum ack 217114047] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:42.424319 sctp (1) [SACK] [cum ack 217114048] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:42.586924 sctp (1) [SACK] [cum ack 217114049] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:42.744810 sctp (1) [SACK] [cum ack 217114050] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:42.965536 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:43.106385 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:43.218969 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:45.374101 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:45.489258 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:49.830116 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:49.984577 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>> 02:19:58.760300 sctp (1) [DATA] (B)(E) [TSN: 217114046] [SID: 0] [SSEQ 6] [PPID 0x87d8b423]
>>> 02:19:58.931690 sctp (1) [SACK] [cum ack 217114046] [a_rwnd 54784] [#gap acks 0] [#dup tsns 0]
>>>
>>>
>>> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
>>>
>>> --- net/sctp/sm_statefuns.c.orig 2007-07-29 18:11:01.000000000 -0400
>>> +++ net/sctp/sm_statefuns.c 2007-07-29 18:14:49.000000000 -0400
>>> @@ -2880,6 +2880,15 @@ sctp_disposition_t sctp_sf_eat_sack_6_2(
>>> return SCTP_DISPOSITION_DISCARD;
>>> }
>>>
>>> + /* If Cumulative TSN Ack is not less than the Cumulative TSN
>>> + * Ack which will be send in the next data, drop the SACK.
>>> + */
>>> + if (!TSN_lt(ctsn, asoc->next_tsn)) {
>>> + SCTP_DEBUG_PRINTK("ctsn %x\n", ctsn);
>>> + SCTP_DEBUG_PRINTK("next_tsn %x\n", asoc->next_tsn);
>>> + return SCTP_DISPOSITION_DISCARD;
>>> + }
>>> +
>>> /* Return this SACK for further processing. */
>>> sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_SACK, SCTP_SACKH(sackh));
>>>
>>>
>>>
>>>
>> Whats the behavior on this in the event that a sack is received in which the
>> ctsn falls within a a missing space in a stream of gap acks? I.e. what if the
>> sack being sent falls into a hole between the ack point and the first gap ack
>> range? Does this patch impact that at all?
>>
>> Also, what is this:
>> 02:19:40.700584 sctp (1) [SACK] [cum ack 290855864] ....
>>
>> That ack value seems rather out of range for the rest of the trace. Was that
>> part of your test? If so, what caused it?
>>
>
> Yes. This SACK seems to be totally out of range and may be causing the problem.
>
> I would expect the following check in sctp_sf_eat_sack_6_2() to drop any SACKs
> with CTSN value lower than the earlier SACKs.
>
> /* i) If Cumulative TSN Ack is less than the Cumulative TSN
> * Ack Point, then drop the SACK. Since Cumulative TSN
> * Ack is monotonically increasing, a SACK whose
> * Cumulative TSN Ack is less than the Cumulative TSN Ack
> * Point indicates an out-of-order SACK.
> */
> if (TSN_lt(ctsn, asoc->ctsn_ack_point)) {
> SCTP_DEBUG_PRINTK("ctsn %x\n", ctsn);
> SCTP_DEBUG_PRINTK("ctsn_ack_point %x\n", asoc->ctsn_ack_point);
> return SCTP_DISPOSITION_DISCARD;
> }
>
This place SACK with CTSN value *higher than* the earlier SACKs, So it
can not be dropped.
In my test I send a dup SACK with future CTSN to attack a SCTP assoc,
and it cause data transmit incorrectly. My test procedure is like this:
Endpoint A Endpoint B
<--------------- DATA (TSN=1)
SACK(TSN=1) ---------------> (*1)
<--------------- DATA (TSN=2)
<--------------- DATA (TSN=3)
<--------------- DATA (TSN=4)
<--------------- DATA (TSN=5)
SACK(TSN=5) --------------->(*2)
SACK(TSN=1000) --------------->(*3)
<--------------- DATA (TSN=6)
<--------------- DATA (TSN=7)
<--------------- DATA (TSN=8)
<--------------- DATA (TSN=9)
SACK(TSN=6) --------------->(*4)
<--------------- DATA (TSN=6)(retrans)
(*1) At this point ctsn_ack_point=0,next_tsn=2, ctsn=1, SACK is accept.
After accept SACK, ctsn_ack_point=1.
(*2) At this point ctsn_ack_point=1,next_tsn=6, ctsn=5,TSN_lt(ctsn,
ctsn_ack_point) is ture, so accept SACK, and then ctsn_ack_point=5
(*3) At this point SACK is a dup SACK, ctsn_ack_point=5,next_tsn=6,
ctsn=1000,TSN_lt(ctsn, ctsn_ack_point) is ture, so accept SACK, and then
ctsn_ack_point=1000
(*4) At this point ctsn_ack_point=1000, next_tsn=10,ctsn=6, TSN_lt(ctsn,
ctsn_ack_point) is false, so SACK is dropped.
^ permalink raw reply
* Re: Removing the prism54 module
From: Luis R. Rodriguez @ 2007-08-01 1:20 UTC (permalink / raw)
To: Edward Ando
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20070728224008.782a3be6-L01rVeg4zJJ+2kGCxyASIg@public.gmane.org>
On 7/28/07, Edward Ando <edwardando-dbx96nzIXN7OeuqD6ShaSA@public.gmane.org> wrote:
> Dear All,
> I am trying to set up software suspend 2 (TuxOnIce now it seems). This
> has decided it wants to remove the prism54 module before starting the
> hibernate process.
>
> When it tries to do this, (or when I manually do: "ifconfig eth1
> down"), I start getting these messages on all terminals, ad infinitum:
>
> kernel: unregister_netdevice: waiting for eth1 to become free. Usage
> count = 4
Hmm... can you show lsmod output please?
Luis
^ 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