Linux 4.9.261
[email protected]
maintainerFrom: Greg Kroah-Hartman <[email protected]>
I'm announcing the release of the 4.9.261 kernel.
All users of the 4.9 kernel series must upgrade.
The updated 4.9.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.9.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 drivers/block/rsxx/core.c | 8 +- drivers/iommu/amd_iommu.c | 10 +-- drivers/md/dm-table.c | 91 ++++++++++++++++++----------- drivers/misc/eeprom/eeprom_93xx46.c | 15 ++++ drivers/pci/quirks.c | 3 drivers/platform/x86/acer-wmi.c | 8 ++ fs/btrfs/raid56.c | 58 +++++++----------- include/linux/eeprom_93xx46.h | 2 sound/pci/ctxfi/cthw20k2.c | 2 tools/usb/usbip/libsrc/usbip_host_common.c | 2 11 files changed, 123 insertions(+), 78 deletions(-)
Andrey Ryabinin (1):
iommu/amd: Fix sleeping in atomic in increase_address_space()
Antonio Borneo (1):
usbip: tools: fix build error for multiple definition
Aswath Govindraju (1):
misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom
Bjorn Helgaas (1):
PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller
Colin Ian King (1):
ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits
Dan Carpenter (1):
rsxx: Return -EFAULT if copy_to_user() fails
David Sterba (1):
btrfs: raid56: simplify tracking of Q stripe presence
Greg Kroah-Hartman (1):
Linux 4.9.261
Hans de Goede (1):
platform/x86: acer-wmi: Add new force_caps module parameter
Ira Weiny (1):
btrfs: fix raid6 qstripe kmap
Jeffle Xu (2):
dm table: fix iterate_devices based device capability checks dm table: fix DAX iterate_devices based device capability checks
[email protected]
maintainerFrom: Greg Kroah-Hartman <[email protected]>
Makefile +1 -1
@@ -1,6 +1,6 @@ VERSION = 4 PATCHLEVEL = 9 -SUBLEVEL = 260 +SUBLEVEL = 261 EXTRAVERSION = NAME = Roaring Lionus
drivers/block/rsxx/core.c +5 -3
@@ -180,15 +180,17 @@ static ssize_t rsxx_cram_read(struct file *fp, char __user *ubuf, {struct rsxx_cardinfo *card =file_inode (fp)->i_private;char *buf; -ssize_t st; +int st; buf =kzalloc (cnt,GFP_KERNEL );if (!buf)return -ENOMEM ; st =rsxx_creg_read (card,CREG_ADD_CRAM + (u32)*ppos, cnt, buf,1 ); -if (!st) - st =copy_to_user (ubuf, buf, cnt); +if (!st) { +if (copy_to_user (ubuf, buf, cnt)) + st = -EFAULT ; + }kfree (buf);if (st)return st;
drivers/iommu/amd_iommu.c +6 -4
@@ -1331,24 +1331,26 @@ static void increase_address_space(struct protection_domain *domain,unsigned long flags;u64 *pte; + pte = (void *)get_zeroed_page (gfp); +if (!pte) + goto out; +spin_lock_irqsave (&domain->lock, flags);if (WARN_ON_ONCE (domain->mode ==PAGE_MODE_6_LEVEL ))/* address space already 64 bit large */ goto out; - pte = (void *)get_zeroed_page (gfp); -if (!pte) - goto out; - *pte =PM_LEVEL_PDE (domain->mode,virt_to_phys (domain->pt_root)); domain->pt_root = pte; domain->mode +=1 ; domain->updated = true; + pte =NULL ; out:spin_unlock_irqrestore (&domain->lock, flags); +free_page ((unsigned long )pte);return ; }
drivers/md/dm-table.c +57 -34
148 lines not on this page · raw message
drivers/misc/eeprom/eeprom_93xx46.c +15 -0
@@ -38,6 +38,10 @@ static const struct eeprom_93xx46_devtype_data atmel_at93c46d_data = { EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH, }; +static const struct eeprom_93xx46_devtype_data microchip_93lc46b_data = { + .quirks =EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE , +}; +struct eeprom_93xx46_dev {struct spi_device *spi;struct eeprom_93xx46_platform_data *pdata;
@@ -58,6 +62,11 @@ static inline bool has_quirk_instruction_length(struct eeprom_93xx46_dev *edev)return edev->pdata->quirks &EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH ; } +static inline bool has_quirk_extra_read_cycle (struct eeprom_93xx46_dev *edev) +{ +return edev->pdata->quirks &EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE ; +} +static int eeprom_93xx46_read (void *priv,unsigned int off,void *val,size_t count) {
@@ -99,6 +108,11 @@ static int eeprom_93xx46_read(void *priv, unsigned int off,dev_dbg (&edev->spi->dev,"read cmd 0x%x, %d Hz\n" , cmd_addr, edev->spi->max_speed_hz); +if (has_quirk_extra_read_cycle (edev)) { + cmd_addr <<=1 ; + bits +=1 ; + } +spi_message_init (&m); t[0 ].tx_buf = (char *)&cmd_addr;
@@ -366,6 +380,7 @@ static void select_deassert(void *context)static const struct of_device_id eeprom_93xx46_of_table[] = { { .compatible ="eeprom-93xx46" , }, { .compatible ="atmel,at93c46d" , .data = &atmel_at93c46d_data, }, + { .compatible ="microchip,93lc46b" , .data = µchip_93lc46b_data, }, {} };MODULE_DEVICE_TABLE (of, eeprom_93xx46_of_table);
drivers/pci/quirks.c +3 -0
@@ -3911,6 +3911,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9182,/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c46 */ DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_MARVELL_EXT ,0x91a0 , quirk_dma_func1_alias); +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c135 */ +DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_MARVELL_EXT ,0x9215 , + quirk_dma_func1_alias);/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c127 */ DECLARE_PCI_FIXUP_HEADER (PCI_VENDOR_ID_MARVELL_EXT ,0x9220 , quirk_dma_func1_alias);
drivers/platform/x86/acer-wmi.c +7 -1
@@ -229,6 +229,7 @@ static int mailled = -1;static int brightness =-1 ;static int threeg =-1 ;static int force_series; +static int force_caps =-1 ;static bool ec_raw_mode;static bool has_type_aa;static u16 commun_func_bitmap;
@@ -238,11 +239,13 @@ module_param(mailled, int, 0444);module_param (brightness, int,0444 );module_param (threeg, int,0444 );module_param (force_series, int,0444 ); +module_param (force_caps, int,0444 );module_param (ec_raw_mode, bool,0444 );MODULE_PARM_DESC (mailled,"Set initial state of Mail LED" );MODULE_PARM_DESC (brightness,"Set initial LCD backlight brightness" );MODULE_PARM_DESC (threeg,"Set initial state of 3G hardware" );MODULE_PARM_DESC (force_series,"Force a different laptop series" ); +MODULE_PARM_DESC (force_caps,"Force the capability bitmask to this value" );MODULE_PARM_DESC (ec_raw_mode,"Enable EC raw mode" );struct acer_data {
@@ -2198,7 +2201,7 @@ static int __init acer_wmi_init(void) }/* WMID always provides brightness methods */ interface->capability |=ACER_CAP_BRIGHTNESS ; - }else if (!wmi_has_guid (WMID_GUID2 ) && interface && !has_type_aa) { + }else if (!wmi_has_guid (WMID_GUID2 ) && interface && !has_type_aa && force_caps ==-1 ) {pr_err ("No WMID device detection method found\n" );return -ENODEV ; }
@@ -2228,6 +2231,9 @@ static int __init acer_wmi_init(void)if (acpi_video_get_backlight_type () != acpi_backlight_vendor) interface->capability &= ~ACER_CAP_BRIGHTNESS ; +if (force_caps !=-1 ) + interface->capability = force_caps; +if (wmi_has_guid (WMID_GUID3 )) {if (ec_raw_mode) {if (ACPI_FAILURE (acer_wmi_enable_ec_raw ())) {
fs/btrfs/raid56.c +25 -33
122 lines not on this page · raw message
include/linux/eeprom_93xx46.h +2 -0
@@ -16,6 +16,8 @@ struct eeprom_93xx46_platform_data {#define EEPROM_93XX46_QUIRK_SINGLE_WORD_READ (1 << 0)/* Instructions such as EWEN are (addrlen + 2) in length. */ #define EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH (1 << 1) +/* Add extra cycle after address during a read */ +#define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2)/* * optional hooks to control additional logic
sound/pci/ctxfi/cthw20k2.c +1 -1
@@ -995,7 +995,7 @@ static int daio_mgr_dao_init(void *blk, unsigned int idx, unsigned int conf)if (idx <4 ) {/* S/PDIF output */ -switch ((conf &0x7 )) { +switch ((conf &0xf )) {case 1 :set_field (&ctl->txctl[idx],ATXCTL_NUC ,0 );break ;
tools/usb/usbip/libsrc/usbip_host_common.c +1 -1
@@ -35,7 +35,7 @@#include "list.h" #include "sysfs_utils.h" -struct udev *udev_context; +extern struct udev *udev_context;static int32_t read_attr_usbip_status (struct usbip_usb_device *udev) {