linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>,
	Jiang Liu <liuj97@gmail.com>,
	linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
	Yinghai Lu <yinghai@kernel.org>
Subject: Re: [PATCH v2 10/19] PCI: serialize hotplug operaitons triggered by the shpchp driver
Date: Mon, 07 May 2012 21:23:15 +0200	[thread overview]
Message-ID: <4FA82123.8060406@fold.natur.cuni.cz> (raw)
In-Reply-To: <20120507184050.GC725@kroah.com>

Greg Kroah-Hartman wrote:
> On Mon, May 07, 2012 at 04:13:40PM +0200, Martin Mokrejs wrote:
>> Martin Mokrejs wrote:
>>> Hi Greg and Jiang,
>>>   I am confirming this issue still happens for me with my changed motherboard and express card slot
>>> of my Dell Vostro 3550 laptop. :( I trigger this when unplugging a FireWire express card. Not always
>>> but does happen. attached is a camera picture of the Oops.
>>>
>>>
>>> wq_worker_sleeping
>>> __schedule
>>> schedule
>>> do_exit
>>> oops_end
>>> no_context
>>> __bad_area_nosemaphore
>>> ? put_dec
>>> bad_area_nosemaphore
>>> do_page_fault
>>> ? pointer.clone
>>> ? vsnprintf
>>> page_fault
>>> ? sysfs_name_hash
>>> sysfs_find_dirent
>>> sysfs_hash_and_remove
>>> sysfs_remove_bin_file
>>> pci_remove_resource_files
> 
> Bjorn, the resource stuff changed recently, while pci hotplug didn't
> change at all.  Are we trying to remove files that aren't really there
> anymore?
> 
> Or could we be removing the same file twice?

If you give me some debug patch I can provide you with dozens of inserts and reinserts
of the card and corresponding output (the normal scenario). Unfortunately not the Oops case,
that will not be synced to disk and my remote ttyUSB0 works only partially, only few lines
I ever managed to record. But still you could compare the stacktrace with the correct path?

It seems to me Oops happens when I just pull out the card out of the slot. Maybe the
expected way would be to push the card into the slot to release some lock and it would
be pulled out by itself. I fear this is the intended way to unplug a card.

I played with that a bit now it seems if I just pull out the card, the mechanical lock still
stays in "inserted" position. Next insertion of the card will fail (insert+slip out).
So, every second insertion attempt will succeed and my card will really be held in.

I think I see in logs that output slightly differs on every second ... re-insert of the
card. Although the card presence detection does not work if catches up on card insertion
(some mechanical lock flips). I think removal of the by card pushing it in at least ensures
the lock is flipped as well. Just my impression why something differs on every second
insertion of the card.

I just retested with 3.4-rc6 and this Oops still happens. If I did did not screw it up it
happens even when I carefully always push in the card to get it popped out (the maybe intended
and only allowed card removal?). So the above "every second" scenario does not really help.

Thanks,
Martin

  reply	other threads:[~2012-05-07 19:20 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-27 15:16 [PATCH v2 00/19] Introduce a global lock to serialize all PCI hotplug Jiang Liu
2012-04-27 15:16 ` [PATCH v2 01/19] PCI: introduce pci_bus_get()/pci_bus_put() to hide PCI implementation details Jiang Liu
2012-04-27 15:16 ` [PATCH v2 02/19] PCI: introduce recursive rwsem to serialize PCI hotplug operations Jiang Liu
2012-05-02  5:00   ` Greg KH
2012-05-02  7:25     ` Jiang Liu
2012-05-02 21:46       ` Greg KH
2012-04-27 15:16 ` [PATCH v2 03/19] PCI: replace pci_remove_rescan_mutex with the PCI hotplug lock Jiang Liu
2012-04-27 15:16 ` [PATCH v2 04/19] PCI: serialize hotplug operations triggered by PCI hotplug sysfs interfaces Jiang Liu
2012-05-02  5:06   ` Greg KH
2012-05-02  7:20     ` Jiang Liu
2012-05-02 21:48       ` Greg KH
2012-04-27 15:16 ` [PATCH v2 05/19] PCI: correctly flush workqueue when destroy pcie hotplug controller Jiang Liu
2012-05-02  5:08   ` Greg KH
2012-04-27 15:16 ` [PATCH v2 06/19] PCI: prepare for serializing hotplug operations triggered by pciehp driver Jiang Liu
2012-05-02  5:10   ` Greg KH
2012-04-27 15:16 ` [PATCH v2 07/19] PCI: serialize hotplug operaitons triggered by the " Jiang Liu
2012-04-27 15:16 ` [PATCH v2 08/19] PCI: fix two race windows when probing/removing SHPC controller Jiang Liu
2012-04-27 15:16 ` [PATCH v2 09/19] PCI: correctly flush workqueues and timer when destroy " Jiang Liu
2012-04-27 15:16 ` [PATCH v2 10/19] PCI: serialize hotplug operaitons triggered by the shpchp driver Jiang Liu
     [not found]   ` <4FA4F3E5.5040600@fold.natur.cuni.cz>
     [not found]     ` <4FA5EF97.8010306@gmail.com>
     [not found]       ` <20120506152036.GA31551@kroah.com>
     [not found]         ` <4FA7D882.3070903@gmail.com>
     [not found]           ` <4FA7D839.9090109@fold.natur.cuni.cz>
2012-05-07 14:13             ` Martin Mokrejs
2012-05-07 18:40               ` Greg Kroah-Hartman
2012-05-07 19:23                 ` Martin Mokrejs [this message]
2012-05-08  0:01         ` Jiang Liu
2012-05-08  0:18           ` Greg Kroah-Hartman
2012-05-08 14:13             ` Jiang Liu
2012-05-08 14:48               ` Greg Kroah-Hartman
2012-05-08 16:34                 ` Jiang Liu
2012-04-27 15:16 ` [PATCH v2 11/19] PCI: release IO resource in error handling path in cpcihp_generic_init() Jiang Liu
2012-04-27 15:16 ` [PATCH v2 12/19] PCI: clean up all resources in error handling path in zt5550_hc_init_one() Jiang Liu
2012-04-27 15:16 ` [PATCH v2 13/19] PCI: trivial code clean up in cpci_hotplug_core.c Jiang Liu
2012-04-27 15:16 ` [PATCH v2 14/19] PCI: fix race windows when shutting down cpcihp controller Jiang Liu
2012-04-27 15:16 ` [PATCH v2 15/19] PCI: hold a reference count to the PCI bus used by cpcihp drivers Jiang Liu
2012-04-27 15:16 ` [PATCH v2 16/19] PCI: serialize PCI hotplug operations triggered " Jiang Liu
2012-04-27 15:16 ` [PATCH v2 17/19] PCI: serialize PCI hotplug operations triggered by fakephp drivers Jiang Liu
2012-04-27 15:16 ` [PATCH v2 18/19] PCI, sysfs: Use device_type and attr_groups with pci dev Jiang Liu
2012-04-27 15:17 ` [PATCH v2 19/19] PCI: hide sys interface 'remove' and 'rescan' for SR-IOV virtual devices Jiang Liu

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=4FA82123.8060406@fold.natur.cuni.cz \
    --to=mmokrejs@fold.natur.cuni.cz \
    --cc=bhelgaas@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=liuj97@gmail.com \
    --cc=yinghai@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;
as well as URLs for NNTP newsgroup(s).