diff options
Diffstat (limited to 'drivers/spi/spi-mpc52xx.c')
-rw-r--r-- | drivers/spi/spi-mpc52xx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/spi/spi-mpc52xx.c b/drivers/spi/spi-mpc52xx.c index aac2a5ddd964..b07db4b62d80 100644 --- a/drivers/spi/spi-mpc52xx.c +++ b/drivers/spi/spi-mpc52xx.c | |||
@@ -234,7 +234,8 @@ static int mpc52xx_spi_fsmstate_transfer(int irq, struct mpc52xx_spi *ms, | |||
234 | dev_err(&ms->master->dev, "mode fault\n"); | 234 | dev_err(&ms->master->dev, "mode fault\n"); |
235 | mpc52xx_spi_chipsel(ms, 0); | 235 | mpc52xx_spi_chipsel(ms, 0); |
236 | ms->message->status = -EIO; | 236 | ms->message->status = -EIO; |
237 | ms->message->complete(ms->message->context); | 237 | if (ms->message->complete) |
238 | ms->message->complete(ms->message->context); | ||
238 | ms->state = mpc52xx_spi_fsmstate_idle; | 239 | ms->state = mpc52xx_spi_fsmstate_idle; |
239 | return FSM_CONTINUE; | 240 | return FSM_CONTINUE; |
240 | } | 241 | } |
@@ -288,7 +289,8 @@ mpc52xx_spi_fsmstate_wait(int irq, struct mpc52xx_spi *ms, u8 status, u8 data) | |||
288 | ms->msg_count++; | 289 | ms->msg_count++; |
289 | mpc52xx_spi_chipsel(ms, 0); | 290 | mpc52xx_spi_chipsel(ms, 0); |
290 | ms->message->status = 0; | 291 | ms->message->status = 0; |
291 | ms->message->complete(ms->message->context); | 292 | if (ms->message->complete) |
293 | ms->message->complete(ms->message->context); | ||
292 | ms->state = mpc52xx_spi_fsmstate_idle; | 294 | ms->state = mpc52xx_spi_fsmstate_idle; |
293 | return FSM_CONTINUE; | 295 | return FSM_CONTINUE; |
294 | } | 296 | } |