This patch typecasts and accesses rx buf properly as
an unaligned rxbuf, typecasting with u16 and accessing
it causes data abort excpetion and this patch fixes it.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
priv->rxbuf += 1;
break;
case 2:
- *((u16 *)priv->rxbuf) = data;
- priv->rxbuf += 2;
+ *((u8 *)priv->rxbuf) = data;
+ priv->rxbuf += 1;
+ *((u8 *)priv->rxbuf) = (u8)(data >> 8);
+ priv->rxbuf += 1;
break;
case 3:
- *((u16 *)priv->rxbuf) = data;
- priv->rxbuf += 2;
+ *((u8 *)priv->rxbuf) = data;
+ priv->rxbuf += 1;
+ *((u8 *)priv->rxbuf) = (u8)(data >> 8);
+ priv->rxbuf += 1;
byte3 = (u8)(data >> 16);
*((u8 *)priv->rxbuf) = byte3;
priv->rxbuf += 1;