lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hps74c9vd.wl%tiwai@suse.de>
Date:	Tue, 20 Mar 2007 14:39:18 +0100
From:	Takashi Iwai <tiwai@...e.de>
To:	Pavel Machek <pavel@....cz>
Cc:	kernel list <linux-kernel@...r.kernel.org>,
	Ingo Molnar <mingo@...e.hu>
Subject: Re: BUG: soft lockup during suspend

At Tue, 20 Mar 2007 14:22:03 +0100,
Pavel Machek wrote:
> 
> Hi!
> 
> > > I got this nastinness in my syslog... perhaps HDA intel takes too long
> > > to play with its hardware? Or should we just kill the softlockup
> > > watchdog since Linux is not realtime system, yet?
> > 
> > X60/T60 is known to be often broken regarding the communication
> > between the controller and the codec chip.  When this kind of thing
> > happens, the driver tries to switch to a single-shot I/O without using
> > ring-buffers and IRQs, and even in such a mode, the communication gets
> > broken.  FWIW, it doesn't happen on other machines with HD-audio, so
> > it's fairly specific to X60/T60.  No idea why.
> 
> Is adding touch_softlockup_watchdog() to hd_audio right solution? Or
> should watchdog just disappear?

This should be at a loop in azx_single_send_cmd(),

	int timeout = 50;

	...
	while (timeout--) {
		/* check ICB busy bit */
		if (! (azx_readw(chip, IRS) & ICH6_IRS_BUSY)) {
			...
			return 0;
		}
		udelay(1);
	}

and this function is not in spinlock by itself.
Hence I feel the softlockup is too sensitive in this regard.
But calling touch_softlockup_watchdog() is surely a workaround.


Takashi

> 								Pavel
> 
> > > HDA Intel 0000:00:1b.0: freeze
> > > BUG: soft lockup detected on CPU#0!
> > >  [<c014fdd9>] softlockup_tick+0xa9/0xd0
> > >  [<c0131d63>] update_process_times+0x33/0x80
> > >  [<c0142f52>] tick_periodic+0x22/0x70
> > >  [<c0142fb7>] tick_handle_periodic+0x17/0x80
> > >  [<c014359a>] tick_do_broadcast+0x6a/0x80
> > >  [<c01435cc>] tick_do_periodic_broadcast+0x1c/0x30
> > >  [<c01435fb>] tick_handle_periodic_broadcast+0x1b/0x60
> > >  [<c01435cc>] tick_do_periodic_broadcast+0x1c/0x30
> > >  [<c01077cc>] timer_interrupt+0x2c/0x40
> > >  [<c0150005>] handle_IRQ_event+0x25/0x60
> > >  [<c0151d87>] handle_edge_irq+0xe7/0x130
> > >  [<c0106adb>] do_IRQ+0x3b/0x80
> > >  [<c0106ae0>] do_IRQ+0x40/0x80
> > >  [<c01049eb>] common_interrupt+0x23/0x28
> > >  [<c063007b>] ieee80211_wx_get_scan+0x2b/0x130
> > >  [<c02588f4>] delay_tsc+0x14/0x20
> > >  [<c0258936>] __delay+0x6/0x10
> > >  [<c052f3da>] azx_send_cmd+0xfa/0x110
> > >  [<c053089e>] snd_hda_codec_write+0x3e/0x60
> > >  [<c05314fb>] hda_set_power_state+0xab/0xe0
> > >  [<c0532518>] snd_hda_suspend+0x48/0x60
> > >  [<c0530302>] azx_suspend+0x52/0xd0
> > >  [<c0266b13>] pci_device_suspend+0x23/0x70
> > >  [<c0332dbb>] suspend_device+0x11b/0x2e0
> > >  [<c0333032>] device_suspend+0xb2/0x170
> > >  [<c012a28b>] printk+0x1b/0x20
> > >  [<c014c7ad>] pm_suspend_disk+0x4d/0x2b0
> > >  [<c014b395>] enter_state+0x195/0x220
> > >  [<c014b4c9>] state_store+0xa9/0xc0
> > >  [<c014b420>] state_store+0x0/0xc0
> > >  [<c01ae789>] subsys_attr_store+0x29/0x40
> > >  [<c01af07c>] sysfs_write_file+0xac/0x130
> > >  [<c0172156>] vfs_write+0xa6/0x140
> > >  [<c01aefd0>] sysfs_write_file+0x0/0x130
> > >  [<c0104050>] syscall_call+0x7/0xb
> > >  [<c0630000>] ieee80211_translate_scan+0xa00/0xa50
> > >  =======================
> > > ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> > > 
> > > -- 
> > > (english) http://www.livejournal.com/~pavelmachek
> > > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
> > > 
> 
> -- 
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ