Commit 04216211 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'firewire-fixes-6.11-rc1' of...

Merge tag 'firewire-fixes-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire fixes from Takashi Sakamoto:
 "The recent integration of compiler collections introduced the
  technology to check flexible array length at runtime by providing
  proper annotations. In v6.10 kernel, a patch was merged into firewire
  subsystem to utilize it, however the annotation was inadequate.

  There is also the related change for the flexible array in sound
  subsystem, but it causes a regression where the data in the payload of
  isochronous packet is incorrect for some devices. These bugs are now
  fixed"

* tag 'firewire-fixes-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case
  Revert "firewire: Annotate struct fw_iso_packet with __counted_by()"
parents ab11658f c1839501
...@@ -462,9 +462,8 @@ struct fw_iso_packet { ...@@ -462,9 +462,8 @@ struct fw_iso_packet {
/* rx: Sync bit, wait for matching sy */ /* rx: Sync bit, wait for matching sy */
u32 tag:2; /* tx: Tag in packet header */ u32 tag:2; /* tx: Tag in packet header */
u32 sy:4; /* tx: Sy in packet header */ u32 sy:4; /* tx: Sy in packet header */
u32 header_length:8; /* Length of immediate header */ u32 header_length:8; /* Size of immediate header */
/* tx: Top of 1394 isoch. data_block */ u32 header[]; /* tx: Top of 1394 isoch. data_block */
u32 header[] __counted_by(header_length);
}; };
#define FW_ISO_CONTEXT_TRANSMIT 0 #define FW_ISO_CONTEXT_TRANSMIT 0
......
...@@ -1180,8 +1180,7 @@ static void process_rx_packets(struct fw_iso_context *context, u32 tstamp, size_ ...@@ -1180,8 +1180,7 @@ static void process_rx_packets(struct fw_iso_context *context, u32 tstamp, size_
(void)fw_card_read_cycle_time(fw_parent_device(s->unit)->card, &curr_cycle_time); (void)fw_card_read_cycle_time(fw_parent_device(s->unit)->card, &curr_cycle_time);
for (i = 0; i < packets; ++i) { for (i = 0; i < packets; ++i) {
DEFINE_FLEX(struct fw_iso_packet, template, header, DEFINE_RAW_FLEX(struct fw_iso_packet, template, header, CIP_HEADER_QUADLETS);
header_length, CIP_HEADER_QUADLETS);
bool sched_irq = false; bool sched_irq = false;
build_it_pkt_header(s, desc->cycle, template, pkt_header_length, build_it_pkt_header(s, desc->cycle, template, pkt_header_length,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment