|
@@ -84,7 +84,7 @@ struct fsl_espi_transfer {
|
|
/* SPCOM register values */
|
|
/* SPCOM register values */
|
|
#define SPCOM_CS(x) ((x) << 30)
|
|
#define SPCOM_CS(x) ((x) << 30)
|
|
#define SPCOM_TRANLEN(x) ((x) << 0)
|
|
#define SPCOM_TRANLEN(x) ((x) << 0)
|
|
-#define SPCOM_TRANLEN_MAX 0xFFFF /* Max transaction length */
|
|
|
|
|
|
+#define SPCOM_TRANLEN_MAX 0x10000 /* Max transaction length */
|
|
|
|
|
|
#define AUTOSUSPEND_TIMEOUT 2000
|
|
#define AUTOSUSPEND_TIMEOUT 2000
|
|
|
|
|
|
@@ -233,7 +233,7 @@ static int fsl_espi_bufs(struct spi_device *spi, struct spi_transfer *t)
|
|
reinit_completion(&mpc8xxx_spi->done);
|
|
reinit_completion(&mpc8xxx_spi->done);
|
|
|
|
|
|
/* Set SPCOM[CS] and SPCOM[TRANLEN] field */
|
|
/* Set SPCOM[CS] and SPCOM[TRANLEN] field */
|
|
- if ((t->len - 1) > SPCOM_TRANLEN_MAX) {
|
|
|
|
|
|
+ if (t->len > SPCOM_TRANLEN_MAX) {
|
|
dev_err(mpc8xxx_spi->dev, "Transaction length (%d)"
|
|
dev_err(mpc8xxx_spi->dev, "Transaction length (%d)"
|
|
" beyond the SPCOM[TRANLEN] field\n", t->len);
|
|
" beyond the SPCOM[TRANLEN] field\n", t->len);
|
|
return -EINVAL;
|
|
return -EINVAL;
|