|
@@ -1256,7 +1256,6 @@ static irqreturn_t pl022_interrupt_handler(int irq, void *dev_id)
|
|
struct pl022 *pl022 = dev_id;
|
|
struct pl022 *pl022 = dev_id;
|
|
struct spi_message *msg = pl022->cur_msg;
|
|
struct spi_message *msg = pl022->cur_msg;
|
|
u16 irq_status = 0;
|
|
u16 irq_status = 0;
|
|
- u16 flag = 0;
|
|
|
|
|
|
|
|
if (unlikely(!msg)) {
|
|
if (unlikely(!msg)) {
|
|
dev_err(&pl022->adev->dev,
|
|
dev_err(&pl022->adev->dev,
|
|
@@ -1305,8 +1304,7 @@ static irqreturn_t pl022_interrupt_handler(int irq, void *dev_id)
|
|
|
|
|
|
readwriter(pl022);
|
|
readwriter(pl022);
|
|
|
|
|
|
- if ((pl022->tx == pl022->tx_end) && (flag == 0)) {
|
|
|
|
- flag = 1;
|
|
|
|
|
|
+ if (pl022->tx == pl022->tx_end) {
|
|
/* Disable Transmit interrupt, enable receive interrupt */
|
|
/* Disable Transmit interrupt, enable receive interrupt */
|
|
writew((readw(SSP_IMSC(pl022->virtbase)) &
|
|
writew((readw(SSP_IMSC(pl022->virtbase)) &
|
|
~SSP_IMSC_MASK_TXIM) | SSP_IMSC_MASK_RXIM,
|
|
~SSP_IMSC_MASK_TXIM) | SSP_IMSC_MASK_RXIM,
|