mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 10:04:12 +08:00
spi: Final fixes for v5.19
A few more small driver specific fixes, this is obviously rather late and if you think it's best to leave these until the next release that would be reasonable. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmLbILwACgkQJNaLcl1U h9Dd8Af/SQFOeYWyeMFUO0woaPB5qV/RYxO2blUUwWD4l54Io21qW/oh1zv6jbGI p6L11hDQBaGvWKf85wZLNeKHXeSJU9Mi38PXMUBY8IYrsjT7ytHpdgPRUKslA6BT Tg2FLNX609FdQosrbN9axjl2DSKoOLi1bZPhoA6pipwuHIbJINXdZGsbrVcwMXhK iFzEK1ay3qyDmvaOlnlTQjFKRyKs/PGsTD8Co8DEo9jPaFB+0VRoeaq1PwvVEurf wBBl2gdJdVoDGHrh1hZ0Q/9eKQ5Xc+/xfNT6jOJ3X1TzWtAbnXOeBAwtqTde0j8N he7CmrsREU+yDfeN8X2i/PmdEi8/Mg== =Bkey -----END PGP SIGNATURE----- Merge tag 'spi-fix-v5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi fixes from Mark Brown: "A few more small driver specific fixes" * tag 'spi-fix-v5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi: spi-rspi: Fix PIO fallback on RZ platforms spi: spi-cadence: Fix SPI NO Slave Select macro definition spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers
This commit is contained in:
commit
301c894932
@ -1138,10 +1138,14 @@ static void bcm2835_spi_handle_err(struct spi_controller *ctlr,
|
||||
struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr);
|
||||
|
||||
/* if an error occurred and we have an active dma, then terminate */
|
||||
dmaengine_terminate_sync(ctlr->dma_tx);
|
||||
bs->tx_dma_active = false;
|
||||
dmaengine_terminate_sync(ctlr->dma_rx);
|
||||
bs->rx_dma_active = false;
|
||||
if (ctlr->dma_tx) {
|
||||
dmaengine_terminate_sync(ctlr->dma_tx);
|
||||
bs->tx_dma_active = false;
|
||||
}
|
||||
if (ctlr->dma_rx) {
|
||||
dmaengine_terminate_sync(ctlr->dma_rx);
|
||||
bs->rx_dma_active = false;
|
||||
}
|
||||
bcm2835_spi_undo_prologue(bs);
|
||||
|
||||
/* and reset */
|
||||
|
@ -69,7 +69,7 @@
|
||||
#define CDNS_SPI_BAUD_DIV_SHIFT 3 /* Baud rate divisor shift in CR */
|
||||
#define CDNS_SPI_SS_SHIFT 10 /* Slave Select field shift in CR */
|
||||
#define CDNS_SPI_SS0 0x1 /* Slave Select zero */
|
||||
#define CDNS_SPI_NOSS 0x3C /* No Slave select */
|
||||
#define CDNS_SPI_NOSS 0xF /* No Slave select */
|
||||
|
||||
/*
|
||||
* SPI Interrupt Registers bit Masks
|
||||
|
@ -613,6 +613,10 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,
|
||||
rspi->dma_callbacked, HZ);
|
||||
if (ret > 0 && rspi->dma_callbacked) {
|
||||
ret = 0;
|
||||
if (tx)
|
||||
dmaengine_synchronize(rspi->ctlr->dma_tx);
|
||||
if (rx)
|
||||
dmaengine_synchronize(rspi->ctlr->dma_rx);
|
||||
} else {
|
||||
if (!ret) {
|
||||
dev_err(&rspi->ctlr->dev, "DMA timeout\n");
|
||||
|
Loading…
Reference in New Issue
Block a user