ASoC: Intel: Skylake: fix typo in sizeof
authorVincent Stehlé <[email protected]>
Thu, 29 Oct 2015 22:04:41 +0000 (23:04 +0100)
committerMark Brown <[email protected]>
Mon, 16 Nov 2015 10:08:09 +0000 (10:08 +0000)
The size of the pointer to a data structure to send is erroneously
passed to sst_ipc_tx_message_wait() as its tx_bytes argument. It should
be given the size of the pointed skl_ipc_dxstate_info structure instead.

Coincidentally, both the pointer and the structure have the same size of
8 bytes on a 64 bit machine, which "masks" the issue. Compiling for 32
bit reveals the issue more clearly.

Fix the typo for correctness, and to make the code robust to future
evolutions of the skl_ipc_dxstate_info structure size.

This fixes the following coccicheck error:

  sound/soc/intel/skylake/skl-sst-ipc.c:641:8-14: ERROR: application of sizeof to pointer

Signed-off-by: Vincent Stehlé <[email protected]>
Cc: Subhransu S. Prusty <[email protected]>
Cc: Jeeja KP <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: [email protected]
Signed-off-by: Mark Brown <[email protected]>
sound/soc/intel/skylake/skl-sst-ipc.c

index 3345ea0d44147e9fdb62275f73d1d0d6d64e0c5f..95679c02c6ee1b8631759796ef84cd886e51a24c 100644 (file)
@@ -650,7 +650,7 @@ int skl_ipc_set_dx(struct sst_generic_ipc *ipc, u8 instance_id,
        dev_dbg(ipc->dev, "In %s primary =%x ext=%x\n", __func__,
                         header.primary, header.extension);
        ret = sst_ipc_tx_message_wait(ipc, *ipc_header,
-                               dx, sizeof(dx), NULL, 0);
+                               dx, sizeof(*dx), NULL, 0);
        if (ret < 0) {
                dev_err(ipc->dev, "ipc: set dx failed, err %d\n", ret);
                return ret;