mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 07:38:10 +00:00
spi/dw_spi: remove conditional from 'poll_transfer'.
The 'poll_transfer' function employs a conditional to test whether the transmit buffer is valid; in doing so, on a receive operation no data is clocked out, thus no data is clocked in and ultimately errors appear. This removes the conditional as the transmit function will be set to a null writer when the transmit buffer is invalid, allowing the driver to clock 0x00 out to the device to receive data from the device. Signed-off-by: George Shore <george@georgeshore.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
parent
426c0093d8
commit
f4aec798ae
1 changed files with 2 additions and 5 deletions
|
@ -408,12 +408,9 @@ static irqreturn_t dw_spi_irq(int irq, void *dev_id)
|
|||
/* Must be called inside pump_transfers() */
|
||||
static void poll_transfer(struct dw_spi *dws)
|
||||
{
|
||||
if (dws->tx) {
|
||||
while (dws->write(dws))
|
||||
dws->read(dws);
|
||||
}
|
||||
while (dws->write(dws))
|
||||
dws->read(dws);
|
||||
|
||||
dws->read(dws);
|
||||
transfer_complete(dws);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue