All of lore.kernel.org
 help / color / mirror / Atom feed
* endianness problems in fireworks/bebob_maudio
@ 2014-12-07 21:24 Clemens Ladisch
  2014-12-07 23:45 ` Takashi Sakamoto
  2015-01-07 15:31 ` [PATCH] ALSA: fireworks: fix an endianness bug for transaction length Takashi Sakamoto
  0 siblings, 2 replies; 6+ messages in thread
From: Clemens Ladisch @ 2014-12-07 21:24 UTC (permalink / raw)
  To: Takashi Sakamoto; +Cc: alsa-devel

Hi,

sparse complains:

sound/firewire/fireworks/fireworks_transaction.c:127:18: warning: restricted __be32 degrades to integer

        t = (struct snd_efw_transaction *)data;
        length = min_t(size_t, t->length * sizeof(t->length), length);

't->length' is still a big-endian value.  This means that the driver
ends up always using 'length'.


sound/firewire/bebob/bebob_maudio.c:100:17: warning: incorrect type in initializer (different base types)
sound/firewire/bebob/bebob_maudio.c:100:17:    expected restricted __be32
sound/firewire/bebob/bebob_maudio.c:100:17:    got int

        __be32 cues[3] = {
                MAUDIO_BOOTLOADER_CUE1,
                MAUDIO_BOOTLOADER_CUE2,
                MAUDIO_BOOTLOADER_CUE3
        };

        rcode = fw_run_transaction(device->card, TCODE_WRITE_BLOCK_REQUEST,
                                   device->node_id, device->generation,
                                   device->max_speed, BEBOB_ADDR_REG_REQ,
                                   cues, sizeof(cues));

The three MAUDIO_BOOTLOADER_CUEx values will end up as a different byte
sequence on big-endian machines.  The simplest way to have these twelve
bytes unchanged on the bus is to have a twelve-byte array in the driver.


Regards,
Clemens

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-01-07 15:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-07 21:24 endianness problems in fireworks/bebob_maudio Clemens Ladisch
2014-12-07 23:45 ` Takashi Sakamoto
2014-12-08  8:09   ` Clemens Ladisch
2014-12-08  9:08     ` Takashi Sakamoto
2015-01-07 15:31 ` [PATCH] ALSA: fireworks: fix an endianness bug for transaction length Takashi Sakamoto
2015-01-07 15:40   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.