spi: zynq_qspi: Typecast rxbuf properly

This patch typecasts and accesses rx buf properly as
an unaligned rxbuf, typecasting with u16 and accessing
it causes data abort exception and this patch fixes it.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Link: https://lore.kernel.org/r/20220131052240.23403-2-ashok.reddy.soma@xilinx.com
This commit is contained in:
Siva Durga Prasad Paladugu 2022-01-30 22:22:37 -07:00 committed by Michal Simek
parent 25a91f3005
commit 255537b5ad

View File

@ -230,12 +230,16 @@ static void zynq_qspi_read_data(struct zynq_qspi_priv *priv, u32 data, u8 size)
priv->rx_buf += 1;
break;
case 2:
*((u16 *)priv->rx_buf) = data;
priv->rx_buf += 2;
*((u8 *)priv->rx_buf) = data;
priv->rx_buf += 1;
*((u8 *)priv->rx_buf) = (u8)(data >> 8);
priv->rx_buf += 1;
break;
case 3:
*((u16 *)priv->rx_buf) = data;
priv->rx_buf += 2;
*((u8 *)priv->rx_buf) = data;
priv->rx_buf += 1;
*((u8 *)priv->rx_buf) = (u8)(data >> 8);
priv->rx_buf += 1;
byte3 = (u8)(data >> 16);
*((u8 *)priv->rx_buf) = byte3;
priv->rx_buf += 1;