On Wed, Aug 13, 2008 at 12:29 PM, David Miller <davem@davemloft.net> wrote:This is true, but it is very fragile. It fixes only one case (exactly the case that I saw), while there may be many more of the same nature. For your proposed fix to work in all cases, _all_ printks coming from rtl8139_tx_interrupt() must be printed in a different context. That includes, but is not necessarily limited to, these obvious cases: DPRINTK ("%s: Abnormal interrupt, status %8.8x.\n", dev->name, status); printk(KERN_DEBUG "%s: Transmit error, Tx status %8.8x.\n", printk (KERN_ERR "%s: PCI Bus error %4.4x.\n", dev->name, pci_cmd_status); printk (KERN_ERR "%s: Out-of-sync dirty pointer, %ld vs. %ld.\n", There must also be no BUG()s, WARN()s, other debugging facilities (spinlock debugging, lockdep, irqtrace, etc.) triggering which may call printk() inside the protected section. Can we really ensure this? For all drivers supporting netconsole? Vegard -- "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036 --
| Heiko Carstens | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| Linus Torvalds | Linux 2.6.21-rc4 |
| Michael Kerrisk | nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME? |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Gary Thomas | Marvell 88E609x switch? |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
