mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Pavel Machek <pavel@ucw.cz>
Cc: kernel list <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: BUG: soft lockup during suspend
Date: Tue, 20 Mar 2007 14:39:18 +0100	[thread overview]
Message-ID: <s5hps74c9vd.wl%tiwai@suse.de> (raw)
In-Reply-To: <20070320132202.GA5089@elf.ucw.cz>

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
> 

  reply	other threads:[~2007-03-20 13:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-20 12:32 Pavel Machek
2007-03-20 12:37 ` Takashi Iwai
2007-03-20 13:22   ` Pavel Machek
2007-03-20 13:39     ` Takashi Iwai [this message]
2007-03-20 16:05   ` Chuck Ebbert
2007-03-20 16:08     ` Takashi Iwai
2007-03-20 16:21       ` Takashi Iwai
2007-03-20 16:32         ` Chuck Ebbert
2007-03-20 21:00           ` Takashi Iwai
2007-03-23 19:22         ` Chuck Ebbert
2007-03-26  9:50           ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hps74c9vd.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=pavel@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome