summaryrefslogtreecommitdiff
path: root/debian/patches/debian/libata-avoid-abi-change-in-3.14.4.patch
blob: 02956f51c0b2f3e13749ad035afc08fc0090d53d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 13 May 2014 18:39:19 +0100
Subject: libata: Avoid ABI change in 3.14.4

Commit 8a4aeec8d2d6 ("libata/ahci: accommodate tag ordered
controllers") added the ata_port::last_tag field.  As this structure
is always allocated in libata (by ata_port_alloc()) and the field is
only used by libata, we can move it to the end and hide it from
genksyms.

--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -822,7 +822,6 @@ struct ata_port {
 	unsigned long		qc_allocated;
 	unsigned int		qc_active;
 	int			nr_active_links; /* #links with active qcs */
-	unsigned int		last_tag;	/* track next tag hw expects */
 
 	struct ata_link		link;		/* host default link */
 	struct ata_link		*slave_link;	/* see ata_slave_link_init() */
@@ -863,6 +862,10 @@ struct ata_port {
 #endif
 	/* owned by EH */
 	u8			sector_buf[ATA_SECT_SIZE] ____cacheline_aligned;
+
+#ifndef __GENKSYMS__
+	unsigned int		last_tag;	/* track next tag hw expects */
+#endif
 };
 
 /* The following initializer overrides a method to NULL whether one of