mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 13:46:47 +07: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
@ -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 New Issue
Block a user