public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: Jack Stone <jwjstone@fastmail.fm>
Cc: Mac <kmac@poczta.fm>,
	linux-kernel@vger.kernel.org, linux-ppp@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Jiri Slaby <jirislaby@gmail.com>
Subject: Re: 'scheduling while atomic' during ppp connection on 2.6.37.1 and 2.6.38
Date: Sun, 20 Mar 2011 22:52:06 +0100	[thread overview]
Message-ID: <4D867706.5060304@suse.cz> (raw)
In-Reply-To: <4D864A82.4090104@fastmail.fm>

On 03/20/2011 07:42 PM, Jack Stone wrote:
> Hi,
> 
> On 03/19/2011 10:06 PM, Mac wrote:
>>   dmesg returned:
>>
>>      [ 9229.131031] BUG: scheduling while atomic:
>> firefox-bin/1992/0x10000800
>>      [ 9229.131035] Modules linked in: ppp_async crc_ccitt ppp_generic
>> slhc snd_hda_codec_realtek ath5k ath processor battery ac
>> snd_hda_intel r8169 sdhci_pci sparse_keymap sdhci snd_hda_codec
>> mmc_core nozomi container snd_hwdep
>>      [ 9229.131076] Pid: 1992, comm: firefox-bin Not tainted 2.6.38 #1
>>      [ 9229.131079] Call Trace:
>>      [ 9229.131089]  [] ? schedule+0x67/0x3db
>>      [ 9229.131095]  [] ? nf_conntrack_tuple_taken+0xa2/0xad
>>      [ 9229.131102]  [] ? __cond_resched+0x1c/0x25
>>      [ 9229.131105]  [] ? _cond_resched+0x16/0x20
>>      [ 9229.131109]  [] ? mutex_lock+0xe/0x21
>>      [ 9229.131116]  [] ? ntty_write+0x5d/0x192 [nozomi]
>>      [ 9229.131121]  [] ? __mod_timer.clone.30+0xbe/0xcc
>>      [ 9229.131126]  [] ? check_preempt_curr+0x60/0x6d
>>      [ 9229.131130]  [] ? __nf_ct_refresh_acct+0x75/0xbe
>>      [ 9229.131135]  [] ? ppp_async_push+0xa9/0x3bd [ppp_async]
>>      [ 9229.131140]  [] ? ppp_async_send+0x34/0x40 [ppp_async]
>>      [ 9229.131146]  [] ? ppp_push+0x6c/0x4f9 [ppp_generic]
>>      [ 9229.131152]  [] ? selinux_ip_postroute+0x3d/0x210
>>      [ 9229.131156]  [] ? ipt_do_table+0x300/0x328
>>      [ 9229.131162]  [] ? _local_bh_enable_ip.clone.10+0x1f/0x88
>>      [ 9229.131166]  [] ? ipt_do_table+0x300/0x328
>>      [ 9229.131171]  [] ? ppp_xmit_process+0x3f5/0x472 [ppp_generic]
>>      [ 9229.131176]  [] ? ppp_start_xmit+0x155/0x174 [ppp_generic]
>>      [ 9229.131181]  [] ? dev_hard_start_xmit+0x3c7/0x4a0
>>      [ 9229.131186]  [] ? sch_direct_xmit+0x3e/0xee
>>      [ 9229.131190]  [] ? dev_queue_xmit+0x1cd/0x322
>>      [ 9229.131194]  [] ? ip_queue_xmit+0x2d4/0x330
>>      [ 9229.131200]  [] ? file_update_time+0x30/0x101
>>      [ 9229.131204]  [] ? tcp_transmit_skb+0x6ee/0x721
>>      [ 9229.131208]  [] ? tcp_write_xmit+0x765/0x851
>>      [ 9229.131213]  [] ? __alloc_skb+0x81/0x121
>>      [ 9229.131217]  [] ? __tcp_push_pending_frames+0x18/0x44
>>      [ 9229.131221]  [] ? tcp_close+0x127/0x2f7
>>      [ 9229.131226]  [] ? inet_release+0x53/0x5c
>>      [ 9229.131231]  [] ? sock_release+0x19/0x6e
>>      [ 9229.131234]  [] ? sock_close+0x22/0x29
>>      [ 9229.131239]  [] ? fput+0xf8/0x19a
>>      [ 9229.131243]  [] ? filp_close+0x5d/0x68
>>      [ 9229.131246]  [] ? sys_close+0x6f/0x9e
>>      [ 9229.131251]  [] ? system_call_fastpath+0x16/0x1b
> Can you try the following patch?
> 
> [ Greg, I think this is the correct fix but you know more than me.]

FWIW it looks good to me. Note that the very same problem is in rocket.
And moxa enables bh interrupts unconditionally before it returns. This
might (and likely will) make the ppp locking unhappy.

Could you fix that too? (If not, I will take a look at what I can do
about that.)

> diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c
> index f4f1116..78a1ab3 100644
> --- a/drivers/tty/nozomi.c
> +++ b/drivers/tty/nozomi.c
> @@ -364,8 +364,6 @@ struct port {
>      u8 toggle_ul;
>      u16 token_dl;
> 
> -    /* mutex to ensure one access patch to this port */
> -    struct mutex tty_sem;
>      wait_queue_head_t tty_wait;
>      struct async_icount tty_icount;
> 
> @@ -1474,7 +1472,6 @@ static int __devinit nozomi_card_init(struct
> pci_dev *pdev,
>          struct device *tty_dev;
>          struct port *port = &dc->port[i];
>          port->dc = dc;
> -        mutex_init(&port->tty_sem);
>          tty_port_init(&port->port);
>          port->port.ops = &noz_tty_port_ops;
>          tty_dev = tty_register_device(ntty_driver, dc->index_start + i,

thanks,
-- 
js
suse labs

  reply	other threads:[~2011-03-20 21:52 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-19 22:06 'scheduling while atomic' during ppp connection on 2.6.37.1 and 2.6.38 Mac
2011-03-20 18:42 ` Jack Stone
2011-03-20 21:52   ` Jiri Slaby [this message]
2011-03-20 23:09     ` Jack Stone
2011-03-20 21:58   ` Alan Cox
2011-03-20 23:05     ` Jack Stone
2011-03-21 11:27       ` Alan Cox
2011-03-21 17:40         ` Jack Stone
2011-03-21  9:15     ` Jiri Slaby
2011-03-21 11:02       ` Alan Cox
2011-03-31 20:53         ` Jiri Slaby
2011-03-31 21:39           ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2011-03-19 21:56 Mac

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=4D867706.5060304@suse.cz \
    --to=jslaby@suse.cz \
    --cc=gregkh@suse.de \
    --cc=jirislaby@gmail.com \
    --cc=jwjstone@fastmail.fm \
    --cc=kmac@poczta.fm \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-ppp@vger.kernel.org \
    /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