Re: Regression in -git / [PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled
- From: Daniel Ritz <daniel.ritz-ml@xxxxxxxxxxxxxx>
- Date: Thu, 29 Jun 2006 18:30:12 +0200
hi
On Thursday 29 June 2006 14.04, Jean Delvare wrote:
Hi Daniel,
I see that your patch was already merged, but I would like to reply
anyway.
[PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled
Commit 02dd7ae2892e5ceff111d032769c78d3377df970:
[PATCH] i2c-i801: Merge setup function
has a missing return 0 in the _probe() function. this means the error
path is always executed and pci_disable_device() is called even when
the device just got successfully enabled.
Oops, good catch, thanks. I'm quite ashamed for letting this go
through :(
having the SMBus device disabled makes some systems (eg. Fujitsu-Siemens
Lifebook E8010) hang hard during power-off.
Intead of reverting the whole commit this patch fixes it up:
- don't ever call pci_disable_device(), also not in the _remove() function
to avoid hangs
This is weird, and would certainly deserve additional investigation.
Disabling the PCI device when we no more need it is the right thing to
do and almost all pci drivers do that by now - except I2C bus drivers,
basically i agree, but...
this is the first one I was attempting to convert.
Do you have any idea why disabling the SMBus causes the problem you
observe? Could be that your BIOS attempts to use the SMBus at power
no idea. the last message that is display is "Shutdown: hda" then the
cursor blinks for 2 more seconds, then complete freeze. also enabling
all the debugging options in driver model, pm, i2c does not give me anything
more (it should...the messages during boot are there)...
down time, but I wonder what for. Do you have anything special on this
SMBus? Proprietary EEPROM? Real-time clock? I have two laptops using
this driver (one Sony, one Dell) and none exhibited the problem you
described.
sensors-detect says that there is the smartbattery thingy connected...
maybe the BIOS is querying the battery? dunno...
anyway i'll try again to find out what's causing the hang...
rgds
-daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- Prev by Date: [PATCH] ixgb: add PCI Error recovery callbacks
- Next by Date: Re: [PATCH] 2.6.17-rt1 : fix x86_64 oops
- Previous by thread: Re: Regression in -git / [PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled
- Next by thread: Re: Regression in -git / [PATCH] i2c-i801.c: don't pci_disable_device() after it was just enabled
- Index(es):
Relevant Pages
|