Commit 04216211 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -462,9 +462,8 @@ struct fw_iso_packet {
				/* rx: Sync bit, wait for matching sy	*/
	u32 tag:2;		/* tx: Tag in packet header		*/
	u32 sy:4;		/* tx: Sy in packet header		*/
	u32 header_length:8;	/* Length of immediate header		*/
				/* tx: Top of 1394 isoch. data_block    */
	u32 header[] __counted_by(header_length);
	u32 header_length:8;	/* Size of immediate header		*/
	u32 header[];		/* tx: Top of 1394 isoch. data_block	*/
};

#define FW_ISO_CONTEXT_TRANSMIT			0
+1 −2
Original line number Diff line number Diff line
@@ -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);

	for (i = 0; i < packets; ++i) {
		DEFINE_FLEX(struct fw_iso_packet, template, header,
			    header_length, CIP_HEADER_QUADLETS);
		DEFINE_RAW_FLEX(struct fw_iso_packet, template, header, CIP_HEADER_QUADLETS);
		bool sched_irq = false;

		build_it_pkt_header(s, desc->cycle, template, pkt_header_length,