From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Mitko Haralanov <mitko.haralanov@intel.com>,
Mike Marciniszyn <mike.marciniszyn@intel.com>,
Roland Dreier <roland@purestorage.com>,
Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 126/183] IB/qib: Do not write EEPROM
Date: Fri, 6 Mar 2015 09:56:57 +0000 [thread overview]
Message-ID: <1425635874-19087-127-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1425635874-19087-1-git-send-email-luis.henriques@canonical.com>
3.16.7-ckt8 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Mitko Haralanov <mitko.haralanov@intel.com>
commit 18c0b82a3e4501511b08d0e8676fb08ac08734a3 upstream.
This changeset removes all the code that allows the driver to write to
the EEPROM and update the recorded error counters and power on hours.
These two stats are unused and writing them exposes a timing risk
which could leave the EEPROM in a bad state preventing further normal
operation of the HCA.
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
drivers/infiniband/hw/qib/qib.h | 9 +-
drivers/infiniband/hw/qib/qib_eeprom.c | 181 --------------------------------
drivers/infiniband/hw/qib/qib_iba6120.c | 2 -
drivers/infiniband/hw/qib/qib_iba7220.c | 2 -
drivers/infiniband/hw/qib/qib_iba7322.c | 2 -
drivers/infiniband/hw/qib/qib_init.c | 1 -
drivers/infiniband/hw/qib/qib_sysfs.c | 24 -----
7 files changed, 1 insertion(+), 220 deletions(-)
diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h
index c00ae093b6f8..b218254ee41b 100644
--- a/drivers/infiniband/hw/qib/qib.h
+++ b/drivers/infiniband/hw/qib/qib.h
@@ -1082,12 +1082,6 @@ struct qib_devdata {
/* control high-level access to EEPROM */
struct mutex eep_lock;
uint64_t traffic_wds;
- /* active time is kept in seconds, but logged in hours */
- atomic_t active_time;
- /* Below are nominal shadow of EEPROM, new since last EEPROM update */
- uint8_t eep_st_errs[QIB_EEP_LOG_CNT];
- uint8_t eep_st_new_errs[QIB_EEP_LOG_CNT];
- uint16_t eep_hrs;
/*
* masks for which bits of errs, hwerrs that cause
* each of the counters to increment.
@@ -1309,8 +1303,7 @@ int qib_twsi_blk_rd(struct qib_devdata *dd, int dev, int addr, void *buffer,
int qib_twsi_blk_wr(struct qib_devdata *dd, int dev, int addr,
const void *buffer, int len);
void qib_get_eeprom_info(struct qib_devdata *);
-int qib_update_eeprom_log(struct qib_devdata *dd);
-void qib_inc_eeprom_err(struct qib_devdata *dd, u32 eidx, u32 incr);
+#define qib_inc_eeprom_err(dd, eidx, incr)
void qib_dump_lookup_output_queue(struct qib_devdata *);
void qib_force_pio_avail_update(struct qib_devdata *);
void qib_clear_symerror_on_linkup(unsigned long opaque);
diff --git a/drivers/infiniband/hw/qib/qib_eeprom.c b/drivers/infiniband/hw/qib/qib_eeprom.c
index 4d5d71aaa2b4..e2280b07df02 100644
--- a/drivers/infiniband/hw/qib/qib_eeprom.c
+++ b/drivers/infiniband/hw/qib/qib_eeprom.c
@@ -267,190 +267,9 @@ void qib_get_eeprom_info(struct qib_devdata *dd)
"Board SN %s did not pass functional test: %s\n",
dd->serial, ifp->if_comment);
- memcpy(&dd->eep_st_errs, &ifp->if_errcntp, QIB_EEP_LOG_CNT);
- /*
- * Power-on (actually "active") hours are kept as little-endian value
- * in EEPROM, but as seconds in a (possibly as small as 24-bit)
- * atomic_t while running.
- */
- atomic_set(&dd->active_time, 0);
- dd->eep_hrs = ifp->if_powerhour[0] | (ifp->if_powerhour[1] << 8);
-
done:
vfree(buf);
bail:;
}
-/**
- * qib_update_eeprom_log - copy active-time and error counters to eeprom
- * @dd: the qlogic_ib device
- *
- * Although the time is kept as seconds in the qib_devdata struct, it is
- * rounded to hours for re-write, as we have only 16 bits in EEPROM.
- * First-cut code reads whole (expected) struct qib_flash, modifies,
- * re-writes. Future direction: read/write only what we need, assuming
- * that the EEPROM had to have been "good enough" for driver init, and
- * if not, we aren't making it worse.
- *
- */
-int qib_update_eeprom_log(struct qib_devdata *dd)
-{
- void *buf;
- struct qib_flash *ifp;
- int len, hi_water;
- uint32_t new_time, new_hrs;
- u8 csum;
- int ret, idx;
- unsigned long flags;
-
- /* first, check if we actually need to do anything. */
- ret = 0;
- for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
- if (dd->eep_st_new_errs[idx]) {
- ret = 1;
- break;
- }
- }
- new_time = atomic_read(&dd->active_time);
-
- if (ret == 0 && new_time < 3600)
- goto bail;
-
- /*
- * The quick-check above determined that there is something worthy
- * of logging, so get current contents and do a more detailed idea.
- * read full flash, not just currently used part, since it may have
- * been written with a newer definition
- */
- len = sizeof(struct qib_flash);
- buf = vmalloc(len);
- ret = 1;
- if (!buf) {
- qib_dev_err(dd,
- "Couldn't allocate memory to read %u bytes from eeprom for logging\n",
- len);
- goto bail;
- }
-
- /* Grab semaphore and read current EEPROM. If we get an
- * error, let go, but if not, keep it until we finish write.
- */
- ret = mutex_lock_interruptible(&dd->eep_lock);
- if (ret) {
- qib_dev_err(dd, "Unable to acquire EEPROM for logging\n");
- goto free_bail;
- }
- ret = qib_twsi_blk_rd(dd, dd->twsi_eeprom_dev, 0, buf, len);
- if (ret) {
- mutex_unlock(&dd->eep_lock);
- qib_dev_err(dd, "Unable read EEPROM for logging\n");
- goto free_bail;
- }
- ifp = (struct qib_flash *)buf;
-
- csum = flash_csum(ifp, 0);
- if (csum != ifp->if_csum) {
- mutex_unlock(&dd->eep_lock);
- qib_dev_err(dd, "EEPROM cks err (0x%02X, S/B 0x%02X)\n",
- csum, ifp->if_csum);
- ret = 1;
- goto free_bail;
- }
- hi_water = 0;
- spin_lock_irqsave(&dd->eep_st_lock, flags);
- for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
- int new_val = dd->eep_st_new_errs[idx];
- if (new_val) {
- /*
- * If we have seen any errors, add to EEPROM values
- * We need to saturate at 0xFF (255) and we also
- * would need to adjust the checksum if we were
- * trying to minimize EEPROM traffic
- * Note that we add to actual current count in EEPROM,
- * in case it was altered while we were running.
- */
- new_val += ifp->if_errcntp[idx];
- if (new_val > 0xFF)
- new_val = 0xFF;
- if (ifp->if_errcntp[idx] != new_val) {
- ifp->if_errcntp[idx] = new_val;
- hi_water = offsetof(struct qib_flash,
- if_errcntp) + idx;
- }
- /*
- * update our shadow (used to minimize EEPROM
- * traffic), to match what we are about to write.
- */
- dd->eep_st_errs[idx] = new_val;
- dd->eep_st_new_errs[idx] = 0;
- }
- }
- /*
- * Now update active-time. We would like to round to the nearest hour
- * but unless atomic_t are sure to be proper signed ints we cannot,
- * because we need to account for what we "transfer" to EEPROM and
- * if we log an hour at 31 minutes, then we would need to set
- * active_time to -29 to accurately count the _next_ hour.
- */
- if (new_time >= 3600) {
- new_hrs = new_time / 3600;
- atomic_sub((new_hrs * 3600), &dd->active_time);
- new_hrs += dd->eep_hrs;
- if (new_hrs > 0xFFFF)
- new_hrs = 0xFFFF;
- dd->eep_hrs = new_hrs;
- if ((new_hrs & 0xFF) != ifp->if_powerhour[0]) {
- ifp->if_powerhour[0] = new_hrs & 0xFF;
- hi_water = offsetof(struct qib_flash, if_powerhour);
- }
- if ((new_hrs >> 8) != ifp->if_powerhour[1]) {
- ifp->if_powerhour[1] = new_hrs >> 8;
- hi_water = offsetof(struct qib_flash, if_powerhour) + 1;
- }
- }
- /*
- * There is a tiny possibility that we could somehow fail to write
- * the EEPROM after updating our shadows, but problems from holding
- * the spinlock too long are a much bigger issue.
- */
- spin_unlock_irqrestore(&dd->eep_st_lock, flags);
- if (hi_water) {
- /* we made some change to the data, uopdate cksum and write */
- csum = flash_csum(ifp, 1);
- ret = eeprom_write_with_enable(dd, 0, buf, hi_water + 1);
- }
- mutex_unlock(&dd->eep_lock);
- if (ret)
- qib_dev_err(dd, "Failed updating EEPROM\n");
-
-free_bail:
- vfree(buf);
-bail:
- return ret;
-}
-
-/**
- * qib_inc_eeprom_err - increment one of the four error counters
- * that are logged to EEPROM.
- * @dd: the qlogic_ib device
- * @eidx: 0..3, the counter to increment
- * @incr: how much to add
- *
- * Each counter is 8-bits, and saturates at 255 (0xFF). They
- * are copied to the EEPROM (aka flash) whenever qib_update_eeprom_log()
- * is called, but it can only be called in a context that allows sleep.
- * This function can be called even at interrupt level.
- */
-void qib_inc_eeprom_err(struct qib_devdata *dd, u32 eidx, u32 incr)
-{
- uint new_val;
- unsigned long flags;
-
- spin_lock_irqsave(&dd->eep_st_lock, flags);
- new_val = dd->eep_st_new_errs[eidx] + incr;
- if (new_val > 255)
- new_val = 255;
- dd->eep_st_new_errs[eidx] = new_val;
- spin_unlock_irqrestore(&dd->eep_st_lock, flags);
-}
diff --git a/drivers/infiniband/hw/qib/qib_iba6120.c b/drivers/infiniband/hw/qib/qib_iba6120.c
index d68266ac7619..f7f49a6c34b0 100644
--- a/drivers/infiniband/hw/qib/qib_iba6120.c
+++ b/drivers/infiniband/hw/qib/qib_iba6120.c
@@ -2681,8 +2681,6 @@ static void qib_get_6120_faststats(unsigned long opaque)
spin_lock_irqsave(&dd->eep_st_lock, flags);
traffic_wds -= dd->traffic_wds;
dd->traffic_wds += traffic_wds;
- if (traffic_wds >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
- atomic_add(5, &dd->active_time); /* S/B #define */
spin_unlock_irqrestore(&dd->eep_st_lock, flags);
qib_chk_6120_errormask(dd);
diff --git a/drivers/infiniband/hw/qib/qib_iba7220.c b/drivers/infiniband/hw/qib/qib_iba7220.c
index 7dec89fdc124..f5fa106e1992 100644
--- a/drivers/infiniband/hw/qib/qib_iba7220.c
+++ b/drivers/infiniband/hw/qib/qib_iba7220.c
@@ -3297,8 +3297,6 @@ static void qib_get_7220_faststats(unsigned long opaque)
spin_lock_irqsave(&dd->eep_st_lock, flags);
traffic_wds -= dd->traffic_wds;
dd->traffic_wds += traffic_wds;
- if (traffic_wds >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
- atomic_add(5, &dd->active_time); /* S/B #define */
spin_unlock_irqrestore(&dd->eep_st_lock, flags);
done:
mod_timer(&dd->stats_timer, jiffies + HZ * ACTIVITY_TIMER);
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index a7eb32517a04..23ca2aca1ad6 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -5178,8 +5178,6 @@ static void qib_get_7322_faststats(unsigned long opaque)
spin_lock_irqsave(&ppd->dd->eep_st_lock, flags);
traffic_wds -= ppd->dd->traffic_wds;
ppd->dd->traffic_wds += traffic_wds;
- if (traffic_wds >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
- atomic_add(ACTIVITY_TIMER, &ppd->dd->active_time);
spin_unlock_irqrestore(&ppd->dd->eep_st_lock, flags);
if (ppd->cpspec->qdr_dfe_on && (ppd->link_speed_active &
QIB_IB_QDR) &&
diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
index 8d3c78ddc906..38c5c95f9f95 100644
--- a/drivers/infiniband/hw/qib/qib_init.c
+++ b/drivers/infiniband/hw/qib/qib_init.c
@@ -931,7 +931,6 @@ static void qib_shutdown_device(struct qib_devdata *dd)
qib_free_pportdata(ppd);
}
- qib_update_eeprom_log(dd);
}
/**
diff --git a/drivers/infiniband/hw/qib/qib_sysfs.c b/drivers/infiniband/hw/qib/qib_sysfs.c
index 3c8e4e3caca6..b9ccbda7817d 100644
--- a/drivers/infiniband/hw/qib/qib_sysfs.c
+++ b/drivers/infiniband/hw/qib/qib_sysfs.c
@@ -611,28 +611,6 @@ bail:
return ret < 0 ? ret : count;
}
-static ssize_t show_logged_errs(struct device *device,
- struct device_attribute *attr, char *buf)
-{
- struct qib_ibdev *dev =
- container_of(device, struct qib_ibdev, ibdev.dev);
- struct qib_devdata *dd = dd_from_dev(dev);
- int idx, count;
-
- /* force consistency with actual EEPROM */
- if (qib_update_eeprom_log(dd) != 0)
- return -ENXIO;
-
- count = 0;
- for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
- count += scnprintf(buf + count, PAGE_SIZE - count, "%d%c",
- dd->eep_st_errs[idx],
- idx == (QIB_EEP_LOG_CNT - 1) ? '\n' : ' ');
- }
-
- return count;
-}
-
/*
* Dump tempsense regs. in decimal, to ease shell-scripts.
*/
@@ -679,7 +657,6 @@ static DEVICE_ATTR(nctxts, S_IRUGO, show_nctxts, NULL);
static DEVICE_ATTR(nfreectxts, S_IRUGO, show_nfreectxts, NULL);
static DEVICE_ATTR(serial, S_IRUGO, show_serial, NULL);
static DEVICE_ATTR(boardversion, S_IRUGO, show_boardversion, NULL);
-static DEVICE_ATTR(logged_errors, S_IRUGO, show_logged_errs, NULL);
static DEVICE_ATTR(tempsense, S_IRUGO, show_tempsense, NULL);
static DEVICE_ATTR(localbus_info, S_IRUGO, show_localbus_info, NULL);
static DEVICE_ATTR(chip_reset, S_IWUSR, NULL, store_chip_reset);
@@ -693,7 +670,6 @@ static struct device_attribute *qib_attributes[] = {
&dev_attr_nfreectxts,
&dev_attr_serial,
&dev_attr_boardversion,
- &dev_attr_logged_errors,
&dev_attr_tempsense,
&dev_attr_localbus_info,
&dev_attr_chip_reset,
next prev parent reply other threads:[~2015-03-06 10:21 UTC|newest]
Thread overview: 184+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-06 9:54 [3.16.y-ckt stable] Linux 3.16.7-ckt8 stable review Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 001/183] [media] em28xx: fix em28xx-input removal Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 002/183] [media] em28xx: ensure "closing" messages terminate with a newline Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 003/183] [media] em28xx-input: fix missing newlines Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 004/183] [media] em28xx-core: " Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 005/183] [media] em28xx-audio: " Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 006/183] " Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 007/183] [media] em28xx-dvb: " Luis Henriques
2015-03-06 9:54 ` [PATCH 3.16.y-ckt 008/183] [media] em28xx-video: " Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 009/183] ARM: pxa: add regulator_has_full_constraints to corgi board file Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 010/183] ARM: pxa: add regulator_has_full_constraints to poodle " Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 011/183] ARM: pxa: add regulator_has_full_constraints to spitz " Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 012/183] hx4700: regulator: declare full constraints Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 013/183] HID: input: fix confusion on conflicting mappings Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 014/183] HID: fixup the conflicting keyboard mappings quirk Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 015/183] ARM: dts: tegra20: fix GR3D, DSI unit and reg base addresses Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 016/183] megaraid_sas: disable interrupt_mask before enabling hardware interrupts Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 017/183] PCI: Generate uppercase hex for modalias var in uevent Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 018/183] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 019/183] tty/serial: at91: enable peripheral clock before accessing I/O registers Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 020/183] tty/serial: at91: fix error handling in atmel_serial_probe() Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 021/183] axonram: Fix bug in direct_access Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 022/183] btrfs: fix leak of path in btrfs_find_item Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 023/183] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 024/183] TPM: Add new TPMs to the tail of the list to prevent inadvertent change of dev Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 025/183] char: tpm: Add missing error check for devm_kzalloc Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 026/183] tpm_tis: verify interrupt during init Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 027/183] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 028/183] tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 029/183] tpm/tpm_i2c_stm_st33: Add status check when reading data on the FIFO Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 030/183] mmc: sdhci-pxav3: fix unbalanced clock issues during probe Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 031/183] iwlwifi: mvm: validate tid and sta_id in ba_notif Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 032/183] power: gpio-charger: balance enable/disable_irq_wake calls Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 033/183] power: bq24190: Fix ignored supplicants Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 034/183] ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3 Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 035/183] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 036/183] Bluetooth: btusb: Add Broadcom patchram support for ASUSTek devices Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 037/183] cfq-iosched: fix incorrect filing of rt async cfqq Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 038/183] smack: fix possible use after frees in task_security() callers Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 039/183] xfs: ensure buffer types are set correctly Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 040/183] xfs: inode unlink does not set AGI buffer type Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 041/183] xfs: set buf types when converting extent formats Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 042/183] xfs: set superblock buffer type correctly Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 043/183] btrfs: set proper message level for skinny metadata Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 044/183] KVM: s390: base hrtimer on a monotonic clock Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 045/183] KVM: s390: avoid memory leaks if __inject_vm() fails Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 046/183] samsung-laptop: Add use_native_backlight quirk, and enable it on some models Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 047/183] PCI: Fix infinite loop with ROM image of size 0 Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 048/183] USB: cp210x: add ID for RUGGEDCOM USB Serial Console Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 049/183] Bluetooth: Add support for Broadcom BCM20702A1 variant Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 050/183] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 051/183] Bluetooth: btusb: Add support for Dynex/Insignia USB dongles Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 052/183] clk: zynq: Force CPU_2X clock to be ungated Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 053/183] mmc: sdhci-pxav3: Remove checks for mandatory host clock Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 054/183] mmc: sdhci-pxav3: fix race between runtime pm and irq Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 055/183] power_supply: 88pm860x: Fix leaked power supply on probe fail Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 056/183] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 057/183] mmc: sdhci-pxav3: fix setting of pdata->clk_delay_cycles Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 058/183] mmc: sdhci-pxav3: Fix SDR50 and DDR50 capabilities for the Armada 38x flavor Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 059/183] mmc: sdhci-pxav3: Fix Armada 38x controller's caps according to erratum ERR-7878951 Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 060/183] ARM: 8284/1: sa1100: clear RCSR_SMR on resume Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 061/183] [media] si2168: define symbol rate limits Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 062/183] nfs: don't call blocking operations while !TASK_RUNNING Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 063/183] cdc-acm: add sanity checks Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 064/183] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 065/183] USB: fix use-after-free bug in usb_hcd_unlink_urb() Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 066/183] iwlwifi: mvm: always use mac color zero Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 067/183] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN Luis Henriques
2015-03-06 9:55 ` [PATCH 3.16.y-ckt 068/183] iwlwifi: mvm: fix failure path when power_update fails in add_interface Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 069/183] vt: provide notifications on selection changes Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 070/183] tty: Prevent untrappable signals from malicious program Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 071/183] serial: fsl_lpuart: delete timer on shutdown Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 072/183] serial: fsl_lpuart: avoid new transfer while DMA is running Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 073/183] cpufreq: Set cpufreq_cpu_data to NULL before putting kobject Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 074/183] Bluetooth: btusb: Add support for Lite-On (04ca) Broadcom based, BCM43142 Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 075/183] nfs41: .init_read and .init_write can be called with valid pg_lseg Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 076/183] [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 077/183] mei: mask interrupt set bit on clean reset bit Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 078/183] mei: me: release hw from reset only during the reset flow Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 079/183] KVM: MIPS: Don't leak FPU/DSP to guest Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 080/183] ALSA: hda - Add the pin fixup for HP Envy TS bass speaker Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 081/183] ALSA: hda - Set up GPIO for Toshiba Satellite S50D Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 082/183] xen/manage: Fix USB interaction issues when resuming Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 083/183] ACPI / video: Add some Samsung models to disable_native_backlight list Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 084/183] ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 085/183] ACPI / video: Add disable_native_backlight quirk for Samsung 730U3E/740U3E Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 086/183] ACPI / video: Add disable_native_backlight quirk for Samsung 510R Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 087/183] KVM: s390: floating irqs: fix user triggerable endless loop Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 088/183] drm/i915: Correct the IOSF Dev_FN field for IOSF transfers Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 089/183] cfq-iosched: handle failure of cfq group allocation Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 090/183] tracing: Fix unmapping loop in tracing_mark_write Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 091/183] fsnotify: fix handling of renames in audit Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 092/183] ring-buffer: Do not wake up a splice waiter when page is not full Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 093/183] blk-mq: fix double-free in error path Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 094/183] drm/radeon: workaround for CP HW bug on CIK Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 095/183] drm/radeon: only enable kv/kb dpm interrupts once v3 Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 096/183] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 097/183] cpufreq: speedstep-smi: enable interrupts when waiting Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 098/183] mm/hugetlb: pmd_huge() returns true for non-present hugepage Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 099/183] mm/hugetlb: take page table lock in follow_huge_pmd() Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 100/183] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 101/183] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 102/183] mm/hugetlb: add migration entry check in __unmap_hugepage_range Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 103/183] mm: when stealing freepages, also take pages created by splitting buddy page Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 104/183] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 105/183] mm/nommu.c: " Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 106/183] iscsi-target: Drop problematic active_ts_list usage Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 107/183] target: Fix PR_APTPL_BUF_LEN buffer size limitation Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 108/183] mm/compaction: fix wrong order check in compact_finished() Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 109/183] mm/memory.c: actually remap enough memory Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 110/183] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 111/183] ALSA: hda - enable mute led quirk for one more hp machine Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 112/183] ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 113/183] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 114/183] drm/radeon: fix voltage setup on hawaii Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 115/183] ALSA: hdspm - Constrain periods to 2 on older cards Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 116/183] jffs2: fix handling of corrupted summary length Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 117/183] dm mirror: do not degrade the mirror on discard error Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 118/183] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 119/183] NFS: struct nfs_commit_info.lock must always point to inode->i_lock Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 120/183] target: Add missing WRITE_SAME end-of-device sanity check Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 121/183] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 122/183] Btrfs: fix fsync data loss after adding hard link to inode Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 123/183] Added Little Endian support to vtpm module Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 124/183] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 125/183] sg: fix read() error reporting Luis Henriques
2015-03-06 9:56 ` Luis Henriques [this message]
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 127/183] EDAC, amd64_edac: Prevent OOPS with >16 memory controllers Luis Henriques
2015-03-06 9:56 ` [PATCH 3.16.y-ckt 128/183] MIPS: asm: asmmacro: Replace "add" instructions with "addu" Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 129/183] MIPS: kernel: cps-vec: Replace "addi" with "addiu" Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 130/183] md/raid5: Fix livelock when array is both resyncing and degraded Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 131/183] locking/rtmutex: Avoid a NULL pointer dereference on deadlock Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 132/183] time: adjtimex: Validate the ADJ_FREQUENCY values Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 133/183] ntp: Fixup adjtimex freq validation on 32-bit systems Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 134/183] dm: fix a race condition in dm_get_md Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 135/183] dm snapshot: fix a possible invalid memory access on unload Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 136/183] cpufreq: s3c: remove incorrect __init annotations Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 137/183] x86, mm/ASLR: Fix stack randomization on 64-bit systems Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 138/183] libceph: assert both regular and lingering lists in __remove_osd() Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 139/183] libceph: change from BUG to WARN for __remove_osd() asserts Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 140/183] libceph: fix double __remove_osd() problem Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 141/183] MIPS: Export FP functions used by lose_fpu(1) for KVM Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 142/183] MIPS: Export MSA " Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 143/183] kdb: fix incorrect counts in KDB summary command output Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 144/183] blk-throttle: check stats_cpu before reading it from sysfs Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 145/183] debugfs: leave freeing a symlink body until inode eviction Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 146/183] procfs: fix race between symlink removals and traversals Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 147/183] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 148/183] ASoC: mioa701_wm9713: Fix speaker event Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 149/183] gpio: rcar: Fix error path for devm_kzalloc() failure Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 150/183] efi: Small leak on error in runtime map code Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 151/183] clk-gate: fix bit # check in clk_register_gate() Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 152/183] powerpc/kernel: Avoid memory corruption at early stage Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 153/183] pinctrl: pinctrl-imx: don't use invalid value of conf_reg Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 154/183] ALSA: off by one bug in snd_riptide_joystick_probe() Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 155/183] GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 156/183] net: llc: use correct size for sysctl timeout entries Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 157/183] net: rds: use correct size for max unacked packets and bytes Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 158/183] HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 159/183] fib_trie: Fix /proc/net/fib_trie when CONFIG_IP_MULTIPLE_TABLES is not defined Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 160/183] net: sctp: fix race for one-to-many sockets in sendmsg's auto associate Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 161/183] gpio: sysfs: fix gpio attribute-creation race Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 162/183] ipv6: mld: fix add_grhead skb_over_panic for devs with large MTUs Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 163/183] ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 164/183] IB/core: When marshaling ucma path from user-space, clear unused fields Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 165/183] IB/core: Fix deadlock on uverbs modify_qp error flow Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 166/183] IB/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 167/183] IB/iser: Use correct dma direction when unmapping SGs Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 168/183] [media] Si2168: increase timeout to fix firmware loading Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 169/183] staging: comedi: cb_pcidas64: fix incorrect AI range code handling Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 170/183] target: Fix R_HOLDER bit usage for AllRegistrants Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 171/183] target: Avoid dropping AllRegistrants reservation during unregister Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 172/183] target: Allow AllRegistrants to re-RESERVE existing reservation Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 173/183] target: Allow Write Exclusive non-reservation holders to READ Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 174/183] vhost/scsi: potential memory corruption Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 175/183] clk: sunxi: Support factor clocks with N factor starting not from 0 Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 176/183] sunxi: clk: Set sun6i-pll1 n_start = 1 Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 177/183] HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 178/183] mm: softdirty: unmapped addresses between VMAs are clean Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 179/183] proc/pagemap: walk page tables under pte lock Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 180/183] ARM: dts: am335x-bone*: usb0 is hardwired for peripheral Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 181/183] sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 182/183] caif: remove wrong dev_net_set() call Luis Henriques
2015-03-06 9:57 ` [PATCH 3.16.y-ckt 183/183] quota: Store maximum space limit in bytes Luis Henriques
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425635874-19087-127-git-send-email-luis.henriques@canonical.com \
--to=luis.henriques@canonical.com \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.marciniszyn@intel.com \
--cc=mitko.haralanov@intel.com \
--cc=roland@purestorage.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®