From f867fb53df7de44020d81b70daf81ae19ff165dc Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Mon, 12 Mar 2012 21:24:24 +0000 Subject: [PATCH] * debian/changelog: Update version to 3.2.10-1. * debian/config/defines: Ignore some local ABI changes. * debian/patches: Remove merged patches. svn path=/dists/sid/linux-2.6/; revision=18821 --- debian/changelog | 5 +- debian/config/defines | 1 + ...ging-lirc_serial-Fix-init-exit-order.patch | 140 ------------------ ...rc_serial-Free-resources-on-failure-.patch | 59 -------- ...rc_serial-Fix-deadlock-on-resume-fai.patch | 34 ----- ...rc_serial-Do-not-assume-error-codes-.patch | 51 ------- .../bugfix/all/iwlwifi-fix-key-removal.patch | 57 ------- debian/patches/series/base | 5 - 8 files changed, 5 insertions(+), 347 deletions(-) delete mode 100644 debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch delete mode 100644 debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch delete mode 100644 debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch delete mode 100644 debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch delete mode 100644 debian/patches/bugfix/all/iwlwifi-fix-key-removal.patch diff --git a/debian/changelog b/debian/changelog index 376809008..0a3e6501f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,7 @@ -linux-2.6 (3.2.9-2) UNRELEASED; urgency=low +linux-2.6 (3.2.10-1) UNRELEASED; urgency=low + + * New upstream stable update: + http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.10 [ Uwe Kleine-König ] * [rt] bump rt patch to version 3.2.9-rt17 diff --git a/debian/config/defines b/debian/config/defines index 6f2d04b3e..584196865 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -1,5 +1,6 @@ [abi] abiname: 2 +ignore-changes: module:drivers/net/wireless/ath/ath9k/* [base] arches: diff --git a/debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch b/debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch deleted file mode 100644 index 5ebb73fc0..000000000 --- a/debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch +++ /dev/null @@ -1,140 +0,0 @@ -From: Ben Hutchings -Date: Wed, 16 Nov 2011 01:49:41 -0300 -Subject: [PATCH 1/5] [media] staging: lirc_serial: Fix init/exit order - -commit 9105b8b200410383d0854bbe237ee385d7d33ba6 upstream. - -Currently the module init function registers a platform_device and -only then allocates its IRQ and I/O region. This allows allocation to -race with the device's suspend() function. Instead, allocate -resources in the platform driver's probe() function and free them in -the remove() function. - -The module exit function removes the platform device before the -character device that provides access to it. Change it to reverse the -order of initialisation. - -Signed-off-by: Ben Hutchings -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/staging/media/lirc/lirc_serial.c | 56 +++++++++++------------------ - 1 files changed, 21 insertions(+), 35 deletions(-) - -diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c -index 8a060a8..8637631 100644 ---- a/drivers/staging/media/lirc/lirc_serial.c -+++ b/drivers/staging/media/lirc/lirc_serial.c -@@ -836,7 +836,7 @@ static int hardware_init_port(void) - return 0; - } - --static int init_port(void) -+static int __devinit lirc_serial_probe(struct platform_device *dev) - { - int i, nlow, nhigh, result; - -@@ -913,6 +913,18 @@ static int init_port(void) - return 0; - } - -+static int __devexit lirc_serial_remove(struct platform_device *dev) -+{ -+ free_irq(irq, (void *)&hardware); -+ -+ if (iommap != 0) -+ release_mem_region(iommap, 8 << ioshift); -+ else -+ release_region(io, 8); -+ -+ return 0; -+} -+ - static int set_use_inc(void *data) - { - unsigned long flags; -@@ -1076,16 +1088,6 @@ static struct lirc_driver driver = { - - static struct platform_device *lirc_serial_dev; - --static int __devinit lirc_serial_probe(struct platform_device *dev) --{ -- return 0; --} -- --static int __devexit lirc_serial_remove(struct platform_device *dev) --{ -- return 0; --} -- - static int lirc_serial_suspend(struct platform_device *dev, - pm_message_t state) - { -@@ -1188,10 +1190,6 @@ static int __init lirc_serial_init_module(void) - { - int result; - -- result = lirc_serial_init(); -- if (result) -- return result; -- - switch (type) { - case LIRC_HOMEBREW: - case LIRC_IRDEO: -@@ -1211,8 +1209,7 @@ static int __init lirc_serial_init_module(void) - break; - #endif - default: -- result = -EINVAL; -- goto exit_serial_exit; -+ return -EINVAL; - } - if (!softcarrier) { - switch (type) { -@@ -1228,37 +1225,26 @@ static int __init lirc_serial_init_module(void) - } - } - -- result = init_port(); -- if (result < 0) -- goto exit_serial_exit; -+ result = lirc_serial_init(); -+ if (result) -+ return result; -+ - driver.features = hardware[type].features; - driver.dev = &lirc_serial_dev->dev; - driver.minor = lirc_register_driver(&driver); - if (driver.minor < 0) { - printk(KERN_ERR LIRC_DRIVER_NAME - ": register_chrdev failed!\n"); -- result = -EIO; -- goto exit_release; -+ lirc_serial_exit(); -+ return -EIO; - } - return 0; --exit_release: -- release_region(io, 8); --exit_serial_exit: -- lirc_serial_exit(); -- return result; - } - - static void __exit lirc_serial_exit_module(void) - { -- lirc_serial_exit(); -- -- free_irq(irq, (void *)&hardware); -- -- if (iommap != 0) -- release_mem_region(iommap, 8 << ioshift); -- else -- release_region(io, 8); - lirc_unregister_driver(driver.minor); -+ lirc_serial_exit(); - dprintk("cleaned up module\n"); - } - --- -1.7.7.3 - diff --git a/debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch b/debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch deleted file mode 100644 index c46b564fb..000000000 --- a/debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Ben Hutchings -Date: Wed, 16 Nov 2011 01:52:11 -0300 -Subject: [PATCH 2/5] [media] staging: lirc_serial: Free resources on failure - paths of lirc_serial_probe() - -commit c8e57e1b766c2321aa76ee5e6878c69bd2313d62 upstream. - -Failure to allocate the I/O region leaves the IRQ allocated. -A later failure leaves them both allocated. - -Reported-by: Torsten Crass -Signed-off-by: Ben Hutchings -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/staging/media/lirc/lirc_serial.c | 19 ++++++++++++++++--- - 1 files changed, 16 insertions(+), 3 deletions(-) - -diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c -index 8637631..d833772 100644 ---- a/drivers/staging/media/lirc/lirc_serial.c -+++ b/drivers/staging/media/lirc/lirc_serial.c -@@ -875,11 +875,14 @@ static int __devinit lirc_serial_probe(struct platform_device *dev) - ": or compile the serial port driver as module and\n"); - printk(KERN_WARNING LIRC_DRIVER_NAME - ": make sure this module is loaded first\n"); -- return -EBUSY; -+ result = -EBUSY; -+ goto exit_free_irq; - } - -- if (hardware_init_port() < 0) -- return -EINVAL; -+ if (hardware_init_port() < 0) { -+ result = -EINVAL; -+ goto exit_release_region; -+ } - - /* Initialize pulse/space widths */ - init_timing_params(duty_cycle, freq); -@@ -911,6 +914,16 @@ static int __devinit lirc_serial_probe(struct platform_device *dev) - - dprintk("Interrupt %d, port %04x obtained\n", irq, io); - return 0; -+ -+exit_release_region: -+ if (iommap != 0) -+ release_mem_region(iommap, 8 << ioshift); -+ else -+ release_region(io, 8); -+exit_free_irq: -+ free_irq(irq, (void *)&hardware); -+ -+ return result; - } - - static int __devexit lirc_serial_remove(struct platform_device *dev) --- -1.7.7.3 - diff --git a/debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch b/debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch deleted file mode 100644 index fe8184297..000000000 --- a/debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Ben Hutchings -Date: Wed, 16 Nov 2011 01:53:25 -0300 -Subject: [PATCH 3/5] [media] staging: lirc_serial: Fix deadlock on resume - failure - -commit 1ff1d88e862948ae5bfe490248c023ff8ac2855d upstream. - -A resume function cannot remove the device it is resuming! - -Signed-off-by: Ben Hutchings -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/staging/media/lirc/lirc_serial.c | 4 +--- - 1 files changed, 1 insertions(+), 3 deletions(-) - -diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c -index d833772..befe626 100644 ---- a/drivers/staging/media/lirc/lirc_serial.c -+++ b/drivers/staging/media/lirc/lirc_serial.c -@@ -1127,10 +1127,8 @@ static int lirc_serial_resume(struct platform_device *dev) - { - unsigned long flags; - -- if (hardware_init_port() < 0) { -- lirc_serial_exit(); -+ if (hardware_init_port() < 0) - return -EINVAL; -- } - - spin_lock_irqsave(&hardware[type].lock, flags); - /* Enable Interrupt */ --- -1.7.7.3 - diff --git a/debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch b/debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch deleted file mode 100644 index bc0818da8..000000000 --- a/debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Ben Hutchings -Date: Wed, 16 Nov 2011 01:54:04 -0300 -Subject: [PATCH 5/5] [media] staging: lirc_serial: Do not assume error codes - returned by request_irq() - -commit affc9a0d59ac49bd304e2137bd5e4ffdd6fdfa52 upstream. - -lirc_serial_probe() must fail if request_irq() returns an error, even if -it isn't EBUSY or EINVAL, - -Signed-off-by: Ben Hutchings -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/staging/media/lirc/lirc_serial.c | 21 +++++++++------------ - 1 files changed, 9 insertions(+), 12 deletions(-) - -diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c -index 6f5257e..0ca308a 100644 ---- a/drivers/staging/media/lirc/lirc_serial.c -+++ b/drivers/staging/media/lirc/lirc_serial.c -@@ -843,18 +843,15 @@ static int __devinit lirc_serial_probe(struct platform_device *dev) - result = request_irq(irq, irq_handler, - (share_irq ? IRQF_SHARED : 0), - LIRC_DRIVER_NAME, (void *)&hardware); -- -- switch (result) { -- case -EBUSY: -- printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n", irq); -- return -EBUSY; -- case -EINVAL: -- printk(KERN_ERR LIRC_DRIVER_NAME -- ": Bad irq number or handler\n"); -- return -EINVAL; -- default: -- break; -- }; -+ if (result < 0) { -+ if (result == -EBUSY) -+ printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n", -+ irq); -+ else if (result == -EINVAL) -+ printk(KERN_ERR LIRC_DRIVER_NAME -+ ": Bad irq number or handler\n"); -+ return result; -+ } - - /* Reserve io region. */ - /* --- -1.7.7.3 - diff --git a/debian/patches/bugfix/all/iwlwifi-fix-key-removal.patch b/debian/patches/bugfix/all/iwlwifi-fix-key-removal.patch deleted file mode 100644 index d6afddfb1..000000000 --- a/debian/patches/bugfix/all/iwlwifi-fix-key-removal.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Johannes Berg -Date: Fri, 17 Feb 2012 09:47:14 -0800 -Subject: [PATCH] iwlwifi: fix key removal - -commit 5dcbf480473f6c3f06ad2426b7517038a2a18911 upstream. - -When trying to remove a key, we always send key -flags just setting the key type, not including -the multicast flag and the key ID. As a result, -whenever any key was removed, the unicast key 0 -would be removed, causing a complete connection -loss after the second rekey (the first doesn't -cause a key removal). Fix the key removal code -to include the key ID and multicast flag, thus -removing the correct key. - -Cc: stable@vger.kernel.org -Reported-by: Alexander Schnaidt -Tested-by: Alexander Schnaidt -Signed-off-by: Johannes Berg -Signed-off-by: Wey-Yi Guy -Signed-off-by: John W. Linville ---- - drivers/net/wireless/iwlwifi/iwl-agn-sta.c | 10 +++++++++- - 1 files changed, 9 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-sta.c b/drivers/net/wireless/iwlwifi/iwl-agn-sta.c -index 7353826..e483cfa 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-sta.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-sta.c -@@ -1187,6 +1187,7 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv, - unsigned long flags; - struct iwl_addsta_cmd sta_cmd; - u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); -+ __le16 key_flags; - - /* if station isn't there, neither is the key */ - if (sta_id == IWL_INVALID_STATION) -@@ -1212,7 +1213,14 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv, - IWL_ERR(priv, "offset %d not used in uCode key table.\n", - keyconf->hw_key_idx); - -- sta_cmd.key.key_flags = STA_KEY_FLG_NO_ENC | STA_KEY_FLG_INVALID; -+ key_flags = cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); -+ key_flags |= STA_KEY_FLG_MAP_KEY_MSK | STA_KEY_FLG_NO_ENC | -+ STA_KEY_FLG_INVALID; -+ -+ if (!(keyconf->flags & IEEE80211_KEY_FLAG_PAIRWISE)) -+ key_flags |= STA_KEY_MULTICAST_MSK; -+ -+ sta_cmd.key.key_flags = key_flags; - sta_cmd.key.key_offset = WEP_INVALID_OFFSET; - sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; - sta_cmd.mode = STA_CONTROL_MODIFY_MSK; --- -1.7.9.1 - diff --git a/debian/patches/series/base b/debian/patches/series/base index 1e5fedc50..d160e77bc 100644 --- a/debian/patches/series/base +++ b/debian/patches/series/base @@ -48,11 +48,7 @@ + debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch -+ bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch -+ bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch -+ bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch + bugfix/all/0004-media-staging-lirc_serial-Fix-bogus-error-codes.patch -+ bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch + features/all/topology-Provide-CPU-topology-in-sysfs-in-SMP-configura.patch + bugfix/all/cpu-Do-not-return-errors-from-cpu_dev_init-which-wil.patch @@ -86,4 +82,3 @@ + features/all/fs-hardlink-creation-restrictions.patch + features/all/fs-hardlink-creation-restrictions-fix.patch + features/all/fs-hardlink-creation-restriction-cleanup.patch -+ bugfix/all/iwlwifi-fix-key-removal.patch