diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2013-04-24 20:33:46 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2013-04-24 20:33:54 +0200 | 
| commit | 6402c7dc2a19c19bd8cdc7d80878b850da418942 (patch) | |
| tree | cda2ea2df40442e2aa016119f3548cc504127ea8 /drivers/spi/spi.c | |
| parent | 77c675ba18836802f6b73d2d773481d06ebc0f04 (diff) | |
| parent | 60d509fa6a9c4653a86ad830e4c4b30360b23f0e (diff) | |
| download | olio-linux-3.10-6402c7dc2a19c19bd8cdc7d80878b850da418942.tar.xz olio-linux-3.10-6402c7dc2a19c19bd8cdc7d80878b850da418942.zip  | |
Merge branch 'linus' into timers/core
Reason: Get upstream fixes before adding conflicting code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/spi/spi.c')
| -rw-r--r-- | drivers/spi/spi.c | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index f996c600eb8..004b10f184d 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -543,17 +543,16 @@ static void spi_pump_messages(struct kthread_work *work)  	/* Lock queue and check for queue work */  	spin_lock_irqsave(&master->queue_lock, flags);  	if (list_empty(&master->queue) || !master->running) { -		if (master->busy && master->unprepare_transfer_hardware) { -			ret = master->unprepare_transfer_hardware(master); -			if (ret) { -				spin_unlock_irqrestore(&master->queue_lock, flags); -				dev_err(&master->dev, -					"failed to unprepare transfer hardware\n"); -				return; -			} +		if (!master->busy) { +			spin_unlock_irqrestore(&master->queue_lock, flags); +			return;  		}  		master->busy = false;  		spin_unlock_irqrestore(&master->queue_lock, flags); +		if (master->unprepare_transfer_hardware && +		    master->unprepare_transfer_hardware(master)) +			dev_err(&master->dev, +				"failed to unprepare transfer hardware\n");  		return;  	} @@ -984,7 +983,7 @@ static void acpi_register_spi_devices(struct spi_master *master)  	acpi_status status;  	acpi_handle handle; -	handle = ACPI_HANDLE(&master->dev); +	handle = ACPI_HANDLE(master->dev.parent);  	if (!handle)  		return;  |