[linux] 01/02: Fix or ignore ABI changes between 3.2.68 and 3.2.71, as appropriate
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Mon Sep 21 21:25:55 UTC 2015
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch wheezy
in repository linux.
commit cc7150d7810c5c052807c0cc0c6453d16f2444ae
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Mon Sep 21 13:39:48 2015 +0200
Fix or ignore ABI changes between 3.2.68 and 3.2.71, as appropriate
---
debian/config/defines | 1 +
.../debian/bh-avoid-abi-change-in-3.2.71.patch | 98 ++++++++++++++++++++++
...ta-ignore-spurious-phy-event-on-lpm-polic.patch | 83 ++++++++++++++++++
.../debian/usb-avoid-abi-change-in-3.2.69.patch | 21 +++++
debian/patches/series | 3 +
5 files changed, 206 insertions(+)
diff --git a/debian/config/defines b/debian/config/defines
index 58f9a47..e84fdca 100644
--- a/debian/config/defines
+++ b/debian/config/defines
@@ -75,6 +75,7 @@ ignore-changes:
module:net/ipv4/netfilter/nf_nat
module:net/netfilter/ipvs/*
module:net/netfilter/nf_conntrac*
+ module:sound/pci/emu10k1/*
[base]
arches:
diff --git a/debian/patches/debian/bh-avoid-abi-change-in-3.2.71.patch b/debian/patches/debian/bh-avoid-abi-change-in-3.2.71.patch
new file mode 100644
index 0000000..9b35c6e
--- /dev/null
+++ b/debian/patches/debian/bh-avoid-abi-change-in-3.2.71.patch
@@ -0,0 +1,98 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 21 Sep 2015 13:38:09 +0200
+Subject: bh: Avoid ABI change in 3.2.71
+Forwarded: not-needed
+
+__bread() and __getblk() were changed into inline wrappers for the
+corresponding functions with the _gfp suffix. As they were exported,
+we need to change them back to avoid an ABI break.
+
+---
+--- a/fs/buffer.c
++++ b/fs/buffer.c
+@@ -1370,6 +1370,13 @@ __find_get_block(struct block_device *bd
+ }
+ EXPORT_SYMBOL(__find_get_block);
+
++struct buffer_head *__getblk(struct block_device *bdev, sector_t block,
++ unsigned size)
++{
++ return __getblk_gfp(bdev, block, size, __GFP_MOVABLE);
++}
++EXPORT_SYMBOL(__getblk);
++
+ /*
+ * __getblk_gfp() will locate (and, if necessary, create) the buffer_head
+ * which corresponds to the passed block_device, block and size. The
+@@ -1405,6 +1412,23 @@ void __breadahead(struct block_device *b
+ EXPORT_SYMBOL(__breadahead);
+
+ /**
++ * __bread() - reads a specified block and returns the bh
++ * @bdev: the block_device to read from
++ * @block: number of block
++ * @size: size (in bytes) to read
++ *
++ * Reads a specified block, and returns buffer head that contains it.
++ * The page cache is allocated from movable area so that it can be migrated.
++ * It returns NULL if the block was unreadable.
++ */
++struct buffer_head *
++__bread(struct block_device *bdev, sector_t block, unsigned size)
++{
++ return __bread_gfp(bdev, block, size, __GFP_MOVABLE);
++}
++EXPORT_SYMBOL(__bread);
++
++/**
+ * __bread_gfp() - reads a specified block and returns the bh
+ * @bdev: the block_device to read from
+ * @block: number of block
+--- a/include/linux/buffer_head.h
++++ b/include/linux/buffer_head.h
+@@ -166,11 +166,15 @@ void __wait_on_buffer(struct buffer_head
+ wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);
+ struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block,
+ unsigned size);
++struct buffer_head *__getblk(struct block_device *bdev, sector_t block,
++ unsigned size);
+ struct buffer_head *__getblk_gfp(struct block_device *bdev, sector_t block,
+ unsigned size, gfp_t gfp);
+ void __brelse(struct buffer_head *);
+ void __bforget(struct buffer_head *);
+ void __breadahead(struct block_device *, sector_t block, unsigned int size);
++struct buffer_head *
++__bread(struct block_device *bdev, sector_t block, unsigned size);
+ struct buffer_head *__bread_gfp(struct block_device *,
+ sector_t block, unsigned size, gfp_t gfp);
+ void invalidate_bh_lrus(void);
+@@ -356,29 +360,6 @@ static inline struct buffer_head *getblk
+ return __getblk_gfp(bdev, block, size, 0);
+ }
+
+-static inline struct buffer_head *__getblk(struct block_device *bdev,
+- sector_t block,
+- unsigned size)
+-{
+- return __getblk_gfp(bdev, block, size, __GFP_MOVABLE);
+-}
+-
+-/**
+- * __bread() - reads a specified block and returns the bh
+- * @bdev: the block_device to read from
+- * @block: number of block
+- * @size: size (in bytes) to read
+- *
+- * Reads a specified block, and returns buffer head that contains it.
+- * The page cache is allocated from movable area so that it can be migrated.
+- * It returns NULL if the block was unreadable.
+- */
+-static inline struct buffer_head *
+-__bread(struct block_device *bdev, sector_t block, unsigned size)
+-{
+- return __bread_gfp(bdev, block, size, __GFP_MOVABLE);
+-}
+-
+ extern int __set_page_dirty_buffers(struct page *page);
+
+ #else /* CONFIG_BLOCK */
diff --git a/debian/patches/debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch b/debian/patches/debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
new file mode 100644
index 0000000..9d4aa06
--- /dev/null
+++ b/debian/patches/debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
@@ -0,0 +1,83 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 15 Jun 2015 04:32:59 +0100
+Subject: [PATCH] Revert "libata: Ignore spurious PHY event on LPM policy
+ change"
+Forwarded: not-needed
+
+This reverts commit 09c5b4803a80a5451d950d6a539d2eb311dc0fb1, as
+it results in an unavoidable ABI change.
+---
+ drivers/ata/libata-core.c | 15 +--------------
+ drivers/ata/libata-eh.c | 3 ---
+ include/linux/libata.h | 9 ---------
+ 3 files changed, 1 insertion(+), 26 deletions(-)
+
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -6651,21 +6651,8 @@ u32 ata_wait_register(struct ata_port *a
+ */
+ bool sata_lpm_ignore_phy_events(struct ata_link *link)
+ {
+- unsigned long lpm_timeout = link->last_lpm_change +
+- msecs_to_jiffies(ATA_TMOUT_SPURIOUS_PHY);
+-
+ /* if LPM is enabled, PHYRDY doesn't mean anything */
+- if (link->lpm_policy > ATA_LPM_MAX_POWER)
+- return true;
+-
+- /* ignore the first PHY event after the LPM policy changed
+- * as it is might be spurious
+- */
+- if ((link->flags & ATA_LFLAG_CHANGED) &&
+- time_before(jiffies, lpm_timeout))
+- return true;
+-
+- return false;
++ return !!(link->lpm_policy > ATA_LPM_MAX_POWER);
+ }
+ EXPORT_SYMBOL_GPL(sata_lpm_ignore_phy_events);
+
+--- a/drivers/ata/libata-eh.c
++++ b/drivers/ata/libata-eh.c
+@@ -3423,9 +3423,6 @@ static int ata_eh_set_lpm(struct ata_lin
+ }
+ }
+
+- link->last_lpm_change = jiffies;
+- link->flags |= ATA_LFLAG_CHANGED;
+-
+ return 0;
+
+ fail:
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -182,7 +182,6 @@ enum {
+ ATA_LFLAG_DISABLED = (1 << 6), /* link is disabled */
+ ATA_LFLAG_SW_ACTIVITY = (1 << 7), /* keep activity stats */
+ ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */
+- ATA_LFLAG_CHANGED = (1 << 10), /* LPM state changed on this link */
+
+ /* struct ata_port flags */
+ ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */
+@@ -288,12 +287,6 @@ enum {
+ */
+ ATA_TMOUT_PMP_SRST_WAIT = 5000,
+
+- /* When the LPM policy is set to ATA_LPM_MAX_POWER, there might
+- * be a spurious PHY event, so ignore the first PHY event that
+- * occurs within 10s after the policy change.
+- */
+- ATA_TMOUT_SPURIOUS_PHY = 10000,
+-
+ /* ATA bus states */
+ BUS_UNKNOWN = 0,
+ BUS_DMA = 1,
+@@ -739,8 +732,6 @@ struct ata_link {
+ struct ata_eh_context eh_context;
+
+ struct ata_device device[ATA_MAX_DEVICES];
+-
+- unsigned long last_lpm_change; /* when last LPM change happened */
+ };
+ #define ATA_LINK_CLEAR_BEGIN offsetof(struct ata_link, active_tag)
+ #define ATA_LINK_CLEAR_END offsetof(struct ata_link, device[0])
diff --git a/debian/patches/debian/usb-avoid-abi-change-in-3.2.69.patch b/debian/patches/debian/usb-avoid-abi-change-in-3.2.69.patch
new file mode 100644
index 0000000..9c53778
--- /dev/null
+++ b/debian/patches/debian/usb-avoid-abi-change-in-3.2.69.patch
@@ -0,0 +1,21 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 06 Apr 2015 17:51:50 +0100
+Subject: USB: Avoid ABI change in 3.2.69
+Forwarded: not-needed
+
+Hide the added bitfield usb_hcd::cant_recv_wakeups from genksyms.
+---
+--- a/include/linux/usb/hcd.h
++++ b/include/linux/usb/hcd.h
+@@ -128,8 +128,11 @@ struct usb_hcd {
+ unsigned wireless:1; /* Wireless USB HCD */
+ unsigned authorized_default:1;
+ unsigned has_tt:1; /* Integrated TT in root hub */
++#ifndef __GENKSYMS__
+ unsigned cant_recv_wakeups:1;
+ /* wakeup requests from downstream aren't received */
++ /* 24 bits spare */
++#endif
+
+ int irq; /* irq allocated */
+ void __iomem *regs; /* device memory/io */
diff --git a/debian/patches/series b/debian/patches/series
index b125b28..bf60bbb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1158,3 +1158,6 @@ debian/revert-acpica-utilities-split-io-address-types-from-.patch
bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch
bugfix/all/virtio-net-drop-netif_f_fraglist.patch
bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
+debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
+debian/usb-avoid-abi-change-in-3.2.69.patch
+debian/bh-avoid-abi-change-in-3.2.71.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list