spi-topcliff-pch: add recovery processing in case wait-event timeout

Currently, pch_spi_start_transfer failure is not anticipated.
This patch adds the processing.

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
Tomoya MORINAGA 2011-12-09 13:13:29 +09:00 committed by Grant Likely
parent f258b44e22
commit 0f57e168aa

View File

@ -1266,8 +1266,16 @@ static void pch_spi_process_messages(struct work_struct *pwork)
char *save_rx_buf = data->cur_trans->rx_buf; char *save_rx_buf = data->cur_trans->rx_buf;
for (i = 0; i < cnt; i ++) { for (i = 0; i < cnt; i ++) {
pch_spi_handle_dma(data, &bpw); pch_spi_handle_dma(data, &bpw);
if (!pch_spi_start_transfer(data)) if (!pch_spi_start_transfer(data)) {
data->transfer_complete = true;
data->current_msg->status = -EIO;
data->current_msg->complete
(data->current_msg->context);
data->bcurrent_msg_processing = false;
data->current_msg = NULL;
data->cur_trans = NULL;
goto out; goto out;
}
pch_spi_copy_rx_data_for_dma(data, bpw); pch_spi_copy_rx_data_for_dma(data, bpw);
} }
data->cur_trans->rx_buf = save_rx_buf; data->cur_trans->rx_buf = save_rx_buf;