Changeset 32679


Ignore:
Timestamp:
Jul 12, 2017, 10:39:15 PM (2 weeks ago)
Author:
brainslayer
Message:

update kernel

Location:
src/linux/universal/linux-4.9
Files:
44 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-4.9/Makefile

    r32569 r32679  
    11VERSION = 4
    22PATCHLEVEL = 9
    3 SUBLEVEL = 36
     3SUBLEVEL = 37
    44EXTRAVERSION =
    55NAME = Roaring Lionus
  • src/linux/universal/linux-4.9/arch/x86/lib/copy_user_64.S

    r31574 r32679  
    8585        andl $63,%edx
    8686        shrl $6,%ecx
    87         jz 17f
     87        jz .L_copy_short_string
    88881:      movq (%rsi),%r8
    89892:      movq 1*8(%rsi),%r9
     
    106106        decl %ecx
    107107        jnz 1b
    108 17:     movl %edx,%ecx
     108.L_copy_short_string:
     109        movl %edx,%ecx
    109110        andl $7,%edx
    110111        shrl $3,%ecx
     
    222223ENTRY(copy_user_enhanced_fast_string)
    223224        ASM_STAC
     225        cmpl $64,%edx
     226        jb .L_copy_short_string /* less then 64 bytes, avoid the costly 'rep' */
    224227        movl %edx,%ecx
    2252281:      rep
  • src/linux/universal/linux-4.9/arch/x86/tools/relocs.c

    r31574 r32679  
    993993
    994994        /* Order the relocations for more efficient processing */
    995         sort_relocs(&relocs16);
    996995        sort_relocs(&relocs32);
    997996#if ELF_BITS == 64
    998997        sort_relocs(&relocs32neg);
    999998        sort_relocs(&relocs64);
     999#else
     1000        sort_relocs(&relocs16);
    10001001#endif
    10011002
  • src/linux/universal/linux-4.9/crypto/drbg.c

    r32316 r32679  
    16921692        }
    16931693        drbg->ctr_handle = sk_tfm;
     1694        init_completion(&drbg->ctr_completion);
    16941695
    16951696        req = skcipher_request_alloc(sk_tfm, GFP_KERNEL);
  • src/linux/universal/linux-4.9/drivers/base/platform.c

    r31574 r32679  
    857857{
    858858        struct platform_device *pdev = to_platform_device(dev);
    859         char *driver_override, *old = pdev->driver_override, *cp;
     859        char *driver_override, *old, *cp;
    860860
    861861        if (count > PATH_MAX)
     
    870870                *cp = '\0';
    871871
     872        device_lock(dev);
     873        old = pdev->driver_override;
    872874        if (strlen(driver_override)) {
    873875                pdev->driver_override = driver_override;
     
    876878                pdev->driver_override = NULL;
    877879        }
     880        device_unlock(dev);
    878881
    879882        kfree(old);
     
    886889{
    887890        struct platform_device *pdev = to_platform_device(dev);
    888 
    889         return sprintf(buf, "%s\n", pdev->driver_override);
     891        ssize_t len;
     892
     893        device_lock(dev);
     894        len = sprintf(buf, "%s\n", pdev->driver_override);
     895        device_unlock(dev);
     896        return len;
    890897}
    891898static DEVICE_ATTR_RW(driver_override);
  • src/linux/universal/linux-4.9/drivers/char/tpm/tpm-sysfs.c

    r31574 r32679  
    3636        int i, rc;
    3737        char *str = buf;
    38 
    39         struct tpm_chip *chip = to_tpm_chip(dev);
     38        struct tpm_chip *chip = to_tpm_chip(dev);
     39
     40        memset(&tpm_cmd, 0, sizeof(tpm_cmd));
    4041
    4142        tpm_cmd.header.in = tpm_readpubek_header;
  • src/linux/universal/linux-4.9/drivers/gpu/drm/virtio/virtgpu_object.c

    r31574 r32679  
    8282        size = roundup(size, PAGE_SIZE);
    8383        ret = drm_gem_object_init(vgdev->ddev, &bo->gem_base, size);
    84         if (ret != 0)
     84        if (ret != 0) {
     85                kfree(bo);
    8586                return ret;
     87        }
    8688        bo->dumb = false;
    8789        virtio_gpu_init_ttm_placement(bo, pinned);
  • src/linux/universal/linux-4.9/drivers/infiniband/core/uverbs_cmd.c

    r31574 r32679  
    23432343                return -EFAULT;
    23442344
     2345        if (cmd.port_num < rdma_start_port(ib_dev) ||
     2346            cmd.port_num > rdma_end_port(ib_dev))
     2347                return -EINVAL;
     2348
    23452349        INIT_UDATA(&udata, buf + sizeof cmd, NULL, in_len - sizeof cmd,
    23462350                   out_len);
     
    28822886        if (copy_from_user(&cmd, buf, sizeof cmd))
    28832887                return -EFAULT;
     2888
     2889        if (cmd.attr.port_num < rdma_start_port(ib_dev) ||
     2890            cmd.attr.port_num > rdma_end_port(ib_dev))
     2891                return -EINVAL;
    28842892
    28852893        uobj = kmalloc(sizeof *uobj, GFP_KERNEL);
  • src/linux/universal/linux-4.9/drivers/media/media-entity.c

    r31574 r32679  
    469469        while ((entity_err = media_entity_graph_walk_next(graph))) {
    470470                /* don't let the stream_count go negative */
    471                 if (entity->stream_count > 0) {
     471                if (entity_err->stream_count > 0) {
    472472                        entity_err->stream_count--;
    473473                        if (entity_err->stream_count == 0)
  • src/linux/universal/linux-4.9/drivers/net/wireless/ath/ath10k/pci.c

    r32432 r32679  
    31343134                    (unsigned long)ar);
    31353135
    3136         if (QCA_REV_6174(ar))
     3136        if (QCA_REV_6174(ar) || QCA_REV_9377(ar))
    31373137                ath10k_pci_override_ce_config(ar);
    31383138
  • src/linux/universal/linux-4.9/drivers/net/wireless/mac80211_hwsim.c

    r31574 r32679  
    26632663        tasklet_hrtimer_init(&data->beacon_timer,
    26642664                             mac80211_hwsim_beacon,
    2665                              CLOCK_MONOTONIC_RAW, HRTIMER_MODE_ABS);
     2665                             CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
    26662666
    26672667        spin_lock_bh(&hwsim_radio_lock);
  • src/linux/universal/linux-4.9/drivers/pinctrl/freescale/pinctrl-mxs.c

    r31574 r32679  
    195195}
    196196
     197static void mxs_pinctrl_rmwl(u32 value, u32 mask, u8 shift, void __iomem *reg)
     198{
     199        u32 tmp;
     200
     201        tmp = readl(reg);
     202        tmp &= ~(mask << shift);
     203        tmp |= value << shift;
     204        writel(tmp, reg);
     205}
     206
    197207static int mxs_pinctrl_set_mux(struct pinctrl_dev *pctldev, unsigned selector,
    198208                               unsigned group)
     
    212222                shift = pin % 16 * 2;
    213223
    214                 writel(0x3 << shift, reg + CLR);
    215                 writel(g->muxsel[i] << shift, reg + SET);
     224                mxs_pinctrl_rmwl(g->muxsel[i], 0x3, shift, reg);
    216225        }
    217226
     
    280289                        if (config & MA_PRESENT) {
    281290                                shift = pin % 8 * 4;
    282                                 writel(0x3 << shift, reg + CLR);
    283                                 writel(ma << shift, reg + SET);
     291                                mxs_pinctrl_rmwl(ma, 0x3, shift, reg);
    284292                        }
    285293
  • src/linux/universal/linux-4.9/drivers/pinctrl/intel/pinctrl-cherryview.c

    r31574 r32679  
    1414 */
    1515
     16#include <linux/dmi.h>
    1617#include <linux/kernel.h>
    1718#include <linux/module.h>
     
    15251526}
    15261527
     1528/*
     1529 * Certain machines seem to hardcode Linux IRQ numbers in their ACPI
     1530 * tables. Since we leave GPIOs that are not capable of generating
     1531 * interrupts out of the irqdomain the numbering will be different and
     1532 * cause devices using the hardcoded IRQ numbers fail. In order not to
     1533 * break such machines we will only mask pins from irqdomain if the machine
     1534 * is not listed below.
     1535 */
     1536static const struct dmi_system_id chv_no_valid_mask[] = {
     1537        {
     1538                /* See https://bugzilla.kernel.org/show_bug.cgi?id=194945 */
     1539                .ident = "Acer Chromebook (CYAN)",
     1540                .matches = {
     1541                        DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
     1542                        DMI_MATCH(DMI_PRODUCT_NAME, "Edgar"),
     1543                        DMI_MATCH(DMI_BIOS_DATE, "05/21/2016"),
     1544                },
     1545        },
     1546        {}
     1547};
     1548
    15271549static int chv_gpio_probe(struct chv_pinctrl *pctrl, int irq)
    15281550{
    15291551        const struct chv_gpio_pinrange *range;
    15301552        struct gpio_chip *chip = &pctrl->chip;
     1553        bool need_valid_mask = !dmi_check_system(chv_no_valid_mask);
    15311554        int ret, i, offset;
    15321555
     
    15371560        chip->parent = pctrl->dev;
    15381561        chip->base = -1;
    1539         chip->irq_need_valid_mask = true;
     1562        chip->irq_need_valid_mask = need_valid_mask;
    15401563
    15411564        ret = devm_gpiochip_add_data(pctrl->dev, chip, pctrl);
     
    15681591                intsel >>= CHV_PADCTRL0_INTSEL_SHIFT;
    15691592
    1570                 if (intsel >= pctrl->community->nirqs)
     1593                if (need_valid_mask && intsel >= pctrl->community->nirqs)
    15711594                        clear_bit(i, chip->irq_valid_mask);
    15721595        }
  • src/linux/universal/linux-4.9/drivers/pinctrl/meson/pinctrl-meson8b.c

    r31574 r32679  
    740740        "nand_io", "nand_io_ce0", "nand_io_ce1",
    741741        "nand_io_rb0", "nand_ale", "nand_cle",
    742         "nand_wen_clk", "nand_ren_clk", "nand_dqs0",
    743         "nand_dqs1"
     742        "nand_wen_clk", "nand_ren_clk", "nand_dqs_0",
     743        "nand_dqs_1"
    744744};
    745745
  • src/linux/universal/linux-4.9/drivers/pinctrl/qcom/pinctrl-ipq4019.c

    r31574 r32679  
    406406        PINGROUP(68, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
    407407        PINGROUP(69, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     408        PINGROUP(70, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     409        PINGROUP(71, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     410        PINGROUP(72, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     411        PINGROUP(73, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     412        PINGROUP(74, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     413        PINGROUP(75, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     414        PINGROUP(76, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     415        PINGROUP(77, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     416        PINGROUP(78, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     417        PINGROUP(79, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     418        PINGROUP(80, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     419        PINGROUP(81, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     420        PINGROUP(82, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     421        PINGROUP(83, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     422        PINGROUP(84, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     423        PINGROUP(85, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     424        PINGROUP(86, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     425        PINGROUP(87, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     426        PINGROUP(88, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     427        PINGROUP(89, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     428        PINGROUP(90, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     429        PINGROUP(91, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     430        PINGROUP(92, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     431        PINGROUP(93, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     432        PINGROUP(94, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     433        PINGROUP(95, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     434        PINGROUP(96, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     435        PINGROUP(97, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     436        PINGROUP(98, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
     437        PINGROUP(99, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
    408438};
    409439
  • src/linux/universal/linux-4.9/drivers/pinctrl/sh-pfc/core.c

    r31574 r32679  
    587587                if (ret < 0)
    588588                        return ret;
     589
     590                /* .init() may have overridden pfc->info */
     591                info = pfc->info;
    589592        }
    590593
  • src/linux/universal/linux-4.9/drivers/pinctrl/sh-pfc/pfc-r8a7791.c

    r31574 r32679  
    204204        /* IPSR6 */
    205205        FN_AUDIO_CLKB, FN_STP_OPWM_0_B, FN_MSIOF1_SCK_B,
    206         FN_SCIF_CLK, FN_BPFCLK_E,
     206        FN_SCIF_CLK, FN_DVC_MUTE, FN_BPFCLK_E,
    207207        FN_AUDIO_CLKC, FN_SCIFB0_SCK_C, FN_MSIOF1_SYNC_B, FN_RX2,
    208208        FN_SCIFA2_RXD, FN_FMIN_E,
     
    574574        /* IPSR6 */
    575575        AUDIO_CLKB_MARK, STP_OPWM_0_B_MARK, MSIOF1_SCK_B_MARK,
    576         SCIF_CLK_MARK, BPFCLK_E_MARK,
     576        SCIF_CLK_MARK, DVC_MUTE_MARK, BPFCLK_E_MARK,
    577577        AUDIO_CLKC_MARK, SCIFB0_SCK_C_MARK, MSIOF1_SYNC_B_MARK, RX2_MARK,
    578578        SCIFA2_RXD_MARK, FMIN_E_MARK,
     
    10111011        PINMUX_IPSR_MSEL(IP4_12_10, GPS_CLK_B, SEL_GPS_1),
    10121012        PINMUX_IPSR_MSEL(IP4_12_10, GLO_Q0_D, SEL_GPS_3),
     1013        PINMUX_IPSR_MSEL(IP4_12_10, HSCK1_E, SEL_HSCIF1_4),
    10131014        PINMUX_IPSR_GPSR(IP4_15_13, SSI_WS2),
    10141015        PINMUX_IPSR_MSEL(IP4_15_13, SDA2, SEL_IIC2_0),
     
    10161017        PINMUX_IPSR_MSEL(IP4_15_13, RX2_E, SEL_SCIF2_4),
    10171018        PINMUX_IPSR_MSEL(IP4_15_13, GLO_Q1_D, SEL_GPS_3),
     1019        PINMUX_IPSR_MSEL(IP4_15_13, HCTS1_N_E, SEL_HSCIF1_4),
    10181020        PINMUX_IPSR_GPSR(IP4_18_16, SSI_SDATA2),
    10191021        PINMUX_IPSR_MSEL(IP4_18_16, GPS_MAG_B, SEL_GPS_1),
    10201022        PINMUX_IPSR_MSEL(IP4_18_16, TX2_E, SEL_SCIF2_4),
     1023        PINMUX_IPSR_MSEL(IP4_18_16, HRTS1_N_E, SEL_HSCIF1_4),
    10211024        PINMUX_IPSR_GPSR(IP4_19, SSI_SCK34),
    10221025        PINMUX_IPSR_GPSR(IP4_20, SSI_WS34),
     
    10911094        PINMUX_IPSR_MSEL(IP6_2_0, MSIOF1_SCK_B, SEL_SOF1_1),
    10921095        PINMUX_IPSR_MSEL(IP6_2_0, SCIF_CLK, SEL_SCIF_0),
     1096        PINMUX_IPSR_GPSR(IP6_2_0, DVC_MUTE),
    10931097        PINMUX_IPSR_MSEL(IP6_2_0, BPFCLK_E, SEL_FM_4),
    10941098        PINMUX_IPSR_GPSR(IP6_5_3, AUDIO_CLKC),
     
    11001104        PINMUX_IPSR_GPSR(IP6_7_6, AUDIO_CLKOUT),
    11011105        PINMUX_IPSR_MSEL(IP6_7_6, MSIOF1_SS1_B, SEL_SOF1_1),
    1102         PINMUX_IPSR_MSEL(IP6_5_3, TX2, SEL_SCIF2_0),
     1106        PINMUX_IPSR_MSEL(IP6_7_6, TX2, SEL_SCIF2_0),
    11031107        PINMUX_IPSR_MSEL(IP6_7_6, SCIFA2_TXD, SEL_SCIFA2_0),
    11041108        PINMUX_IPSR_GPSR(IP6_9_8, IRQ0),
     
    58115815                /* IP6_2_0 [3] */
    58125816                FN_AUDIO_CLKB, FN_STP_OPWM_0_B, FN_MSIOF1_SCK_B,
    5813                 FN_SCIF_CLK, 0, FN_BPFCLK_E,
     5817                FN_SCIF_CLK, FN_DVC_MUTE, FN_BPFCLK_E,
    58145818                0, 0, }
    58155819        },
  • src/linux/universal/linux-4.9/drivers/pinctrl/sh-pfc/pfc-r8a7794.c

    r31574 r32679  
    282282        FN_IIC1_SDA_C, FN_VI1_DATA0, FN_CAN0_TX_D, FN_AVB_AVTP_MATCH,
    283283        FN_ETH_RX_ER_B, FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_SDATA, FN_VI1_DATA1,
    284         FN_ATAG0_N, FN_ETH_RXD0_B, FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2,
    285         FN_MDATA, FN_ATAWR0_N, FN_ETH_RXD1_B,
     284        FN_ATAWR0_N, FN_ETH_RXD0_B, FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2,
     285        FN_MDATA, FN_ATAG0_N, FN_ETH_RXD1_B,
    286286
    287287        /* IPSR13 */
     
    576576        VI1_DATA0_MARK, CAN0_TX_D_MARK, AVB_AVTP_MATCH_MARK, ETH_RX_ER_B_MARK,
    577577        SSI_SDATA1_MARK, HSCIF1_HRX_B_MARK, VI1_DATA1_MARK, SDATA_MARK,
    578         ATAG0_N_MARK, ETH_RXD0_B_MARK, SSI_SCK2_MARK, HSCIF1_HTX_B_MARK,
    579         VI1_DATA2_MARK, MDATA_MARK, ATAWR0_N_MARK, ETH_RXD1_B_MARK,
     578        ATAWR0_N_MARK, ETH_RXD0_B_MARK, SSI_SCK2_MARK, HSCIF1_HTX_B_MARK,
     579        VI1_DATA2_MARK, MDATA_MARK, ATAG0_N_MARK, ETH_RXD1_B_MARK,
    580580
    581581        /* IPSR13 */
     
    14141414        PINMUX_IPSR_GPSR(IP12_26_24, VI1_DATA1),
    14151415        PINMUX_IPSR_MSEL(IP12_26_24, SDATA, SEL_FSN_0),
    1416         PINMUX_IPSR_GPSR(IP12_26_24, ATAG0_N),
     1416        PINMUX_IPSR_GPSR(IP12_26_24, ATAWR0_N),
    14171417        PINMUX_IPSR_MSEL(IP12_26_24, ETH_RXD0_B, SEL_ETH_1),
    14181418        PINMUX_IPSR_MSEL(IP12_29_27, SSI_SCK2, SEL_SSI2_0),
     
    14201420        PINMUX_IPSR_GPSR(IP12_29_27, VI1_DATA2),
    14211421        PINMUX_IPSR_MSEL(IP12_29_27, MDATA, SEL_FSN_0),
    1422         PINMUX_IPSR_GPSR(IP12_29_27, ATAWR0_N),
     1422        PINMUX_IPSR_GPSR(IP12_29_27, ATAG0_N),
    14231423        PINMUX_IPSR_MSEL(IP12_29_27, ETH_RXD1_B, SEL_ETH_1),
    14241424
     
    49394939                /* IP12_29_27 [3] */
    49404940                FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2, FN_MDATA,
    4941                 FN_ATAWR0_N, FN_ETH_RXD1_B, 0, 0,
     4941                FN_ATAG0_N, FN_ETH_RXD1_B, 0, 0,
    49424942                /* IP12_26_24 [3] */
    49434943                FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_VI1_DATA1, FN_SDATA,
    4944                 FN_ATAG0_N, FN_ETH_RXD0_B, 0, 0,
     4944                FN_ATAWR0_N, FN_ETH_RXD0_B, 0, 0,
    49454945                /* IP12_23_21 [3] */
    49464946                FN_SSI_WS1, FN_SCIF1_TXD_B, FN_IIC1_SDA_C, FN_VI1_DATA0,
  • src/linux/universal/linux-4.9/drivers/pinctrl/sh-pfc/pfc-r8a7795.c

    r31574 r32679  
    20572057};
    20582058static const unsigned int hscif2_clk_b_mux[] = {
    2059         HSCK1_B_MARK,
     2059        HSCK2_B_MARK,
    20602060};
    20612061static const unsigned int hscif2_ctrl_b_pins[] = {
     
    21302130};
    21312131static const unsigned int hscif4_ctrl_mux[] = {
    2132         HRTS4_N_MARK, HCTS3_N_MARK,
     2132        HRTS4_N_MARK, HCTS4_N_MARK,
    21332133};
    21342134
  • src/linux/universal/linux-4.9/drivers/pinctrl/stm32/pinctrl-stm32.c

    r31574 r32679  
    799799        case PIN_CONFIG_OUTPUT:
    800800                __stm32_gpio_set(bank, offset, arg);
    801                 ret = stm32_pmx_gpio_set_direction(pctldev, NULL, pin, false);
     801                ret = stm32_pmx_gpio_set_direction(pctldev, range, pin, false);
    802802                break;
    803803        default:
  • src/linux/universal/linux-4.9/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t.c

    r31574 r32679  
    395395                  SUNXI_FUNCTION(0x0, "gpio_in"),
    396396                  SUNXI_FUNCTION(0x1, "gpio_out"),
    397                   SUNXI_FUNCTION(0x3, "owa")),          /* DOUT */
     397                  SUNXI_FUNCTION(0x3, "spdif")),        /* DOUT */
    398398        SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 19),
    399399                  SUNXI_FUNCTION(0x0, "gpio_in"),
  • src/linux/universal/linux-4.9/drivers/usb/core/quirks.c

    r31794 r32679  
    224224        { USB_DEVICE(0x1edb, 0xbd4f), .driver_info = USB_QUIRK_NO_LPM },
    225225
     226        /* Hauppauge HVR-950q */
     227        { USB_DEVICE(0x2040, 0x7200), .driver_info =
     228                        USB_QUIRK_CONFIG_INTF_STRINGS },
     229
    226230        /* INTEL VALUE SSD */
    227231        { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
  • src/linux/universal/linux-4.9/drivers/usb/core/usb.c

    r31576 r32679  
    280280        usb_destroy_configuration(udev);
    281281        usb_release_bos_descriptor(udev);
     282        if (udev->parent)
     283                of_node_put(dev->of_node);
    282284        usb_put_hcd(hcd);
    283285        kfree(udev->product);
  • src/linux/universal/linux-4.9/drivers/usb/dwc3/dwc3-st.c

    r31574 r32679  
    232232        dwc3_data->syscfg_reg_off = res->start;
    233233
    234         dev_vdbg(&pdev->dev, "glue-logic addr 0x%p, syscfg-reg offset 0x%x\n",
     234        dev_vdbg(&pdev->dev, "glue-logic addr 0x%pK, syscfg-reg offset 0x%x\n",
    235235                 dwc3_data->glue_base, dwc3_data->syscfg_reg_off);
    236236
  • src/linux/universal/linux-4.9/drivers/usb/dwc3/gadget.c

    r32142 r32679  
    10831083        }
    10841084
    1085         if (WARN(req->dep != dep, "request %p belongs to '%s'\n",
     1085        if (WARN(req->dep != dep, "request %pK belongs to '%s'\n",
    10861086                                &req->request, req->dep->name)) {
    1087                 dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'",
     1087                dwc3_trace(trace_dwc3_gadget, "request %pK belongs to '%s'",
    10881088                                &req->request, req->dep->name);
    10891089                return -EINVAL;
     
    12261226                        goto out1;
    12271227                }
    1228                 dev_err(dwc->dev, "request %p was not queued to %s\n",
     1228                dev_err(dwc->dev, "request %pK was not queued to %s\n",
    12291229                                request, ep->name);
    12301230                ret = -EINVAL;
  • src/linux/universal/linux-4.9/drivers/usb/host/xhci-hub.c

    r31859 r32679  
    13661366                                t2 &= ~PORT_WKDISC_E;
    13671367                        }
     1368                        if ((xhci->quirks & XHCI_U2_DISABLE_WAKE) &&
     1369                            (hcd->speed < HCD_USB3))
     1370                                t2 &= ~PORT_WAKE_BITS;
    13681371                } else
    13691372                        t2 &= ~PORT_WAKE_BITS;
  • src/linux/universal/linux-4.9/drivers/usb/host/xhci-pci.c

    r32432 r32679  
    5454#define PCI_DEVICE_ID_INTEL_APL_XHCI                    0x5aa8
    5555#define PCI_DEVICE_ID_INTEL_DNV_XHCI                    0x19d0
     56
     57#define PCI_DEVICE_ID_AMD_PROMONTORYA_4                 0x43b9
     58#define PCI_DEVICE_ID_AMD_PROMONTORYA_3                 0x43ba
     59#define PCI_DEVICE_ID_AMD_PROMONTORYA_2                 0x43bb
     60#define PCI_DEVICE_ID_AMD_PROMONTORYA_1                 0x43bc
    5661
    5762static const char hcd_name[] = "xhci_hcd";
     
    136141                xhci->quirks |= XHCI_TRUST_TX_LENGTH;
    137142
     143        if ((pdev->vendor == PCI_VENDOR_ID_AMD) &&
     144                ((pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4) ||
     145                (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_3) ||
     146                (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_2) ||
     147                (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_1)))
     148                xhci->quirks |= XHCI_U2_DISABLE_WAKE;
     149
    138150        if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
    139151                xhci->quirks |= XHCI_LPM_SUPPORT;
  • src/linux/universal/linux-4.9/drivers/usb/host/xhci.h

    r32101 r32679  
    16611661#define XHCI_BROKEN_PORT_PED    (1 << 25)
    16621662#define XHCI_LIMIT_ENDPOINT_INTERVAL_7  (1 << 26)
     1663#define XHCI_U2_DISABLE_WAKE    (1 << 27)
    16631664
    16641665        unsigned int            num_active_eps;
  • src/linux/universal/linux-4.9/drivers/usb/serial/cp210x.c

    r31574 r32679  
    136136        { USB_DEVICE(0x10C4, 0x8998) }, /* KCF Technologies PRN */
    137137        { USB_DEVICE(0x10C4, 0x8A2A) }, /* HubZ dual ZigBee and Z-Wave dongle */
     138        { USB_DEVICE(0x10C4, 0x8A5E) }, /* CEL EM3588 ZigBee USB Stick Long Range */
    138139        { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
    139140        { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
  • src/linux/universal/linux-4.9/drivers/usb/serial/option.c

    r32142 r32679  
    18871887        },
    18881888        { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, SPEEDUP_PRODUCT_SU9800, 0xff) },
     1889        { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, 0x9801, 0xff),
     1890          .driver_info = (kernel_ulong_t)&net_intf3_blacklist },
     1891        { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, 0x9803, 0xff),
     1892          .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
    18891893        { USB_DEVICE(LONGCHEER_VENDOR_ID, ZOOM_PRODUCT_4597) },
    18901894        { USB_DEVICE(LONGCHEER_VENDOR_ID, IBALL_3_5G_CONNECT) },
  • src/linux/universal/linux-4.9/drivers/usb/serial/qcserial.c

    r32142 r32679  
    159159        {DEVICE_SWI(0x1199, 0x9060)},   /* Sierra Wireless Modem */
    160160        {DEVICE_SWI(0x1199, 0x9061)},   /* Sierra Wireless Modem */
     161        {DEVICE_SWI(0x1199, 0x9063)},   /* Sierra Wireless EM7305 */
    161162        {DEVICE_SWI(0x1199, 0x9070)},   /* Sierra Wireless MC74xx */
    162163        {DEVICE_SWI(0x1199, 0x9071)},   /* Sierra Wireless MC74xx */
  • src/linux/universal/linux-4.9/drivers/usb/usbip/stub_main.c

    r31574 r32679  
    263263
    264264                kfree(urb->transfer_buffer);
     265                urb->transfer_buffer = NULL;
     266
    265267                kfree(urb->setup_packet);
     268                urb->setup_packet = NULL;
     269
    266270                usb_free_urb(urb);
    267271        }
  • src/linux/universal/linux-4.9/drivers/usb/usbip/stub_tx.c

    r31574 r32679  
    2929
    3030        kfree(urb->setup_packet);
     31        urb->setup_packet = NULL;
     32
    3133        kfree(urb->transfer_buffer);
     34        urb->transfer_buffer = NULL;
     35
    3236        list_del(&priv->list);
    3337        kmem_cache_free(stub_priv_cache, priv);
  • src/linux/universal/linux-4.9/fs/ceph/dir.c

    r31574 r32679  
    316316        int i;
    317317        int err;
    318         u32 ftype;
     318        unsigned frag = -1;
    319319        struct ceph_mds_reply_info_parsed *rinfo;
    320320
     
    363363        if (need_send_readdir(fi, ctx->pos)) {
    364364                struct ceph_mds_request *req;
    365                 unsigned frag;
    366365                int op = ceph_snap(inode) == CEPH_SNAPDIR ?
    367366                        CEPH_MDS_OP_LSSNAP : CEPH_MDS_OP_READDIR;
     
    374373
    375374                if (is_hash_order(ctx->pos)) {
    376                         frag = ceph_choose_frag(ci, fpos_hash(ctx->pos),
    377                                                 NULL, NULL);
     375                        /* fragtree isn't always accurate. choose frag
     376                         * based on previous reply when possible. */
     377                        if (frag == (unsigned)-1)
     378                                frag = ceph_choose_frag(ci, fpos_hash(ctx->pos),
     379                                                        NULL, NULL);
    378380                } else {
    379381                        frag = fpos_frag(ctx->pos);
     
    498500                struct ceph_vino vino;
    499501                ino_t ino;
     502                u32 ftype;
    500503
    501504                BUG_ON(rde->offset < ctx->pos);
     
    520523        }
    521524
     525        ceph_mdsc_put_request(fi->last_readdir);
     526        fi->last_readdir = NULL;
     527
    522528        if (fi->next_offset > 2) {
    523                 ceph_mdsc_put_request(fi->last_readdir);
    524                 fi->last_readdir = NULL;
     529                frag = fi->frag;
    525530                goto more;
    526531        }
     
    528533        /* more frags? */
    529534        if (!ceph_frag_is_rightmost(fi->frag)) {
    530                 unsigned frag = ceph_frag_next(fi->frag);
     535                frag = ceph_frag_next(fi->frag);
    531536                if (is_hash_order(ctx->pos)) {
    532537                        loff_t new_pos = ceph_make_fpos(ceph_frag_value(frag),
  • src/linux/universal/linux-4.9/fs/fcntl.c

    r31574 r32679  
    746746         * is defined as O_NONBLOCK on some platforms and not on others.
    747747         */
    748         BUILD_BUG_ON(21 - 1 /* for O_RDONLY being 0 */ != HWEIGHT32(
    749                 O_RDONLY        | O_WRONLY      | O_RDWR        |
    750                 O_CREAT         | O_EXCL        | O_NOCTTY      |
    751                 O_TRUNC         | O_APPEND      | /* O_NONBLOCK | */
    752                 __O_SYNC        | O_DSYNC       | FASYNC        |
    753                 O_DIRECT        | O_LARGEFILE   | O_DIRECTORY   |
    754                 O_NOFOLLOW      | O_NOATIME     | O_CLOEXEC     |
    755                 __FMODE_EXEC    | O_PATH        | __O_TMPFILE   |
    756                 __FMODE_NONOTIFY
    757                 ));
     748        BUILD_BUG_ON(21 - 1 /* for O_RDONLY being 0 */ !=
     749                HWEIGHT32(
     750                        (VALID_OPEN_FLAGS & ~(O_NONBLOCK | O_NDELAY)) |
     751                        __FMODE_EXEC | __FMODE_NONOTIFY));
    758752
    759753        fasync_cache = kmem_cache_create("fasync_cache",
  • src/linux/universal/linux-4.9/fs/gfs2/glock.c

    r32407 r32679  
    8181static struct rhashtable gl_hash_table;
    8282
    83 void gfs2_glock_free(struct gfs2_glock *gl)
    84 {
    85         struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
     83static void gfs2_glock_dealloc(struct rcu_head *rcu)
     84{
     85        struct gfs2_glock *gl = container_of(rcu, struct gfs2_glock, gl_rcu);
    8686
    8787        if (gl->gl_ops->go_flags & GLOF_ASPACE) {
     
    9191                kmem_cache_free(gfs2_glock_cachep, gl);
    9292        }
     93}
     94
     95void gfs2_glock_free(struct gfs2_glock *gl)
     96{
     97        struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
     98
     99        call_rcu(&gl->gl_rcu, gfs2_glock_dealloc);
    93100        if (atomic_dec_and_test(&sdp->sd_glock_disposal))
    94101                wake_up(&sdp->sd_glock_wait);
  • src/linux/universal/linux-4.9/fs/gfs2/incore.h

    r31778 r32679  
    371371                } gl_vm;
    372372        };
     373        struct rcu_head gl_rcu;
    373374        struct rhash_head gl_node;
    374375};
  • src/linux/universal/linux-4.9/fs/open.c

    r31574 r32679  
    905905        int acc_mode = ACC_MODE(flags);
    906906
     907        /*
     908         * Clear out all open flags we don't know about so that we don't report
     909         * them in fcntl(F_GETFD) or similar interfaces.
     910         */
     911        flags &= VALID_OPEN_FLAGS;
     912
    907913        if (flags & (O_CREAT | __O_TMPFILE))
    908914                op->mode = (mode & S_IALLUGO) | S_IFREG;
  • src/linux/universal/linux-4.9/include/linux/fcntl.h

    r31574 r32679  
    44#include <uapi/linux/fcntl.h>
    55
     6/* list of all valid flags for the open/openat flags argument: */
     7#define VALID_OPEN_FLAGS \
     8        (O_RDONLY | O_WRONLY | O_RDWR | O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC | \
     9         O_APPEND | O_NDELAY | O_NONBLOCK | O_NDELAY | __O_SYNC | O_DSYNC | \
     10         FASYNC | O_DIRECT | O_LARGEFILE | O_DIRECTORY | O_NOFOLLOW | \
     11         O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE)
    612
    713#ifndef force_o_largefile
  • src/linux/universal/linux-4.9/include/linux/usb/hcd.h

    r31574 r32679  
    570570
    571571#define EndpointRequest \
    572         ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
     572        ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)
    573573#define EndpointOutRequest \
    574         ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)
     574        ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)
    575575
    576576/* class requests from the USB 2.0 hub spec, table 11-15 */
  • src/linux/universal/linux-4.9/kernel/sysctl.c

    r31574 r32679  
    21472147                if (*negp)
    21482148                        return -EINVAL;
     2149                if (*lvalp > UINT_MAX)
     2150                        return -EINVAL;
    21492151                *valp = *lvalp;
    21502152        } else {
    21512153                unsigned int val = *valp;
     2154                *negp = false;
    21522155                *lvalp = (unsigned long)val;
    21532156        }
  • src/linux/universal/linux-4.9/kernel/trace/trace_kprobe.c

    r32142 r32679  
    668668                return -EINVAL;
    669669        }
    670         if (isdigit(argv[1][0])) {
    671                 if (is_return) {
    672                         pr_info("Return probe point must be a symbol.\n");
    673                         return -EINVAL;
    674                 }
    675                 /* an address specified */
    676                 ret = kstrtoul(&argv[1][0], 0, (unsigned long *)&addr);
    677                 if (ret) {
    678                         pr_info("Failed to parse address.\n");
    679                         return ret;
    680                 }
    681         } else {
     670
     671        /* try to parse an address. if that fails, try to read the
     672         * input as a symbol. */
     673        if (kstrtoul(argv[1], 0, (unsigned long *)&addr)) {
    682674                /* a symbol specified */
    683675                symbol = argv[1];
     
    685677                ret = traceprobe_split_symbol_offset(symbol, &offset);
    686678                if (ret) {
    687                         pr_info("Failed to parse symbol.\n");
     679                        pr_info("Failed to parse either an address or a symbol.\n");
    688680                        return ret;
    689681                }
     
    692684                        return -EINVAL;
    693685                }
     686        } else if (is_return) {
     687                pr_info("Return probe point must be a symbol.\n");
     688                return -EINVAL;
    694689        }
    695690        argc -= 2; argv += 2;
  • src/linux/universal/linux-4.9/security/keys/encrypted-keys/encrypted.c

    r32316 r32679  
    438438                                      const u8 **master_key, size_t *master_keylen)
    439439{
    440         struct key *mkey = NULL;
     440        struct key *mkey = ERR_PTR(-EINVAL);
    441441
    442442        if (!strncmp(epayload->master_desc, KEY_TRUSTED_PREFIX,
  • src/linux/universal/linux-4.9/sound/soc/codecs/rt286.c

    r31574 r32679  
    11091109                }
    11101110        },
     1111        {
     1112                .ident = "Thinkpad Helix 2nd",
     1113                .matches = {
     1114                        DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
     1115                        DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Helix 2nd")
     1116                }
     1117        },
    11111118
    11121119        { }
Note: See TracChangeset for help on using the changeset viewer.