]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Jul 2022 15:38:22 +0000 (17:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Jul 2022 15:38:22 +0000 (17:38 +0200)
added patches:
tty-serial-samsung_tty-set-dma-burst_size-to-1.patch
usb-dwc3-gadget-fix-event-pending-check.patch
usb-serial-ftdi_sio-add-belimo-device-ids.patch
usb-typec-add-missing-uevent-when-partner-support-pd.patch

17 files changed:
queue-5.15/alsa-hda-realtek-enable-the-headset-mic-on-a-xiaomi-s-laptop.patch
queue-5.15/alsa-hda-realtek-fix-headset-mic-problem-for-a-hp-machine-with-alc671.patch
queue-5.15/alsa-usb-audio-add-quirk-for-fiero-sc-01-fw-v1.0.0.patch
queue-5.15/alsa-usb-audio-add-quirk-for-fiero-sc-01.patch
queue-5.15/alsa-usb-audio-add-quirks-for-macrosilicon-ms2100-ms.patch
queue-5.15/asoc-codecs-rt700-rt711-rt711-sdca-initialize-workqu.patch
queue-5.15/asoc-rt711-fix-calibrate-mutex-initialization.patch
queue-5.15/asoc-rt711-sdca-sdw-fix-calibrate-mutex-initializati.patch
queue-5.15/btrfs-rename-btrfs_bio-to-btrfs_io_context.patch
queue-5.15/btrfs-return-eagain-for-nowait-dio-reads-writes-on-compressed-and-inline-extents.patch
queue-5.15/fbdev-disable-sysfb-device-registration-when-removin.patch
queue-5.15/netfilter-nf_tables-replace-bug_on-by-element-length.patch
queue-5.15/series
queue-5.15/tty-serial-samsung_tty-set-dma-burst_size-to-1.patch [new file with mode: 0644]
queue-5.15/usb-dwc3-gadget-fix-event-pending-check.patch [new file with mode: 0644]
queue-5.15/usb-serial-ftdi_sio-add-belimo-device-ids.patch [new file with mode: 0644]
queue-5.15/usb-typec-add-missing-uevent-when-partner-support-pd.patch [new file with mode: 0644]

index 6b3fe8562cd2bf49dfc9cb28ed9a4681649da1d7..e3c36869c900f35daba599dd3056df920688cb70 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/sound/pci/hda/patch_realtek.c
 +++ b/sound/pci/hda/patch_realtek.c
-@@ -9157,6 +9157,7 @@ static const struct snd_pci_quirk alc269
+@@ -9158,6 +9158,7 @@ static const struct snd_pci_quirk alc269
        SND_PCI_QUIRK(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
        SND_PCI_QUIRK(0x1d72, 0x1701, "XiaomiNotebook Pro", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE),
        SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC),
index 6a55af3b2d0929502d785d0c29eacfff2809cbf1..ff06ceb39e3850e2b0cacab89e4ddafd2194ee46 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/sound/pci/hda/patch_realtek.c
 +++ b/sound/pci/hda/patch_realtek.c
-@@ -11002,6 +11002,7 @@ static const struct snd_pci_quirk alc662
+@@ -11003,6 +11003,7 @@ static const struct snd_pci_quirk alc662
        SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
        SND_PCI_QUIRK(0x103c, 0x8719, "HP", ALC897_FIXUP_HP_HSMIC_VERB),
        SND_PCI_QUIRK(0x103c, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2),
index b5a529ff467b7d9f6260d3a41658215437826aca..231bbfc94b1ec70dc2ceb0dcc45e2ad22221ddc3 100644 (file)
@@ -167,7 +167,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        USB_DEVICE(0x2b53, 0x0031),
 --- a/sound/usb/quirks.c
 +++ b/sound/usb/quirks.c
-@@ -1911,6 +1911,10 @@ static const struct usb_audio_quirk_flag
+@@ -1915,6 +1915,10 @@ static const struct usb_audio_quirk_flag
                   QUIRK_FLAG_ALIGN_TRANSFER),
        DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */
                   QUIRK_FLAG_GET_SAMPLE_RATE),
index 8b8bd708856f9ff9d16430e486a3f2d55e73d5b3..dcc86435e7ce9762ff0ae3e9ed5661ef41f4cef0 100644 (file)
@@ -124,7 +124,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  #undef USB_AUDIO_DEVICE
 --- a/sound/usb/quirks.c
 +++ b/sound/usb/quirks.c
-@@ -1911,6 +1911,8 @@ static const struct usb_audio_quirk_flag
+@@ -1915,6 +1915,8 @@ static const struct usb_audio_quirk_flag
                   QUIRK_FLAG_ALIGN_TRANSFER),
        DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */
                   QUIRK_FLAG_GET_SAMPLE_RATE),
index 5c8df5d3671d62bfedb42d373b5737c7c9e6c802..a88d20a373ce7061aa6c5ebbe1102c29ebab11a2 100644 (file)
@@ -87,7 +87,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        case USB_ID(0x534d, 0x2109): /* MacroSilicon MS2109 */
                subs->stream_offset_adj = 2;
                break;
-@@ -1904,6 +1905,8 @@ static const struct usb_audio_quirk_flag
+@@ -1908,6 +1909,8 @@ static const struct usb_audio_quirk_flag
                   QUIRK_FLAG_IGNORE_CTL_ERROR),
        DEVICE_FLG(0x413c, 0xa506, /* Dell AE515 sound bar */
                   QUIRK_FLAG_GET_SAMPLE_RATE),
index 60f3743283e679dd7d74fcd7d0976f874a08b607..bd2be4d187cf4487a7fe577faf4821c8ab956272 100644 (file)
@@ -29,7 +29,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
 
 --- a/sound/soc/codecs/rt700.c
 +++ b/sound/soc/codecs/rt700.c
-@@ -1114,6 +1114,11 @@ int rt700_init(struct device *dev, struc
+@@ -1124,6 +1124,11 @@ int rt700_init(struct device *dev, struc
  
        mutex_init(&rt700->disable_irq_lock);
  
@@ -41,7 +41,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        /*
         * Mark hw_init to false
         * HW init will be performed when device reports present
-@@ -1208,13 +1213,6 @@ int rt700_io_init(struct device *dev, st
+@@ -1218,13 +1223,6 @@ int rt700_io_init(struct device *dev, st
        /* Finish Initial Settings, set power to D3 */
        regmap_write(rt700->regmap, RT700_SET_AUDIO_POWER_STATE, AC_PWRST_D3);
  
@@ -57,7 +57,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
         * we set up the jack detection function now
 --- a/sound/soc/codecs/rt711-sdca.c
 +++ b/sound/soc/codecs/rt711-sdca.c
-@@ -1414,6 +1414,9 @@ int rt711_sdca_init(struct device *dev,
+@@ -1417,6 +1417,9 @@ int rt711_sdca_init(struct device *dev,
        mutex_init(&rt711->calibrate_mutex);
        mutex_init(&rt711->disable_irq_lock);
  
@@ -67,7 +67,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        /*
         * Mark hw_init to false
         * HW init will be performed when device reports present
-@@ -1545,13 +1548,6 @@ int rt711_sdca_io_init(struct device *de
+@@ -1548,13 +1551,6 @@ int rt711_sdca_io_init(struct device *de
        rt711_sdca_index_update_bits(rt711, RT711_VENDOR_HDA_CTL,
                RT711_PUSH_BTN_INT_CTL0, 0x20, 0x00);
  
@@ -83,7 +83,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        if (ret < 0)
 --- a/sound/soc/codecs/rt711.c
 +++ b/sound/soc/codecs/rt711.c
-@@ -1199,6 +1199,10 @@ int rt711_init(struct device *dev, struc
+@@ -1202,6 +1202,10 @@ int rt711_init(struct device *dev, struc
        mutex_init(&rt711->calibrate_mutex);
        mutex_init(&rt711->disable_irq_lock);
  
@@ -94,7 +94,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        /*
         * Mark hw_init to false
         * HW init will be performed when device reports present
-@@ -1306,14 +1310,8 @@ int rt711_io_init(struct device *dev, st
+@@ -1309,14 +1313,8 @@ int rt711_io_init(struct device *dev, st
  
        if (rt711->first_hw_init)
                rt711_calibration(rt711);
index d4659453bbc80ee79687b9ad12edfbc3820dd278..2597290874160319c477d070c73b9c4bcef939a8 100644 (file)
@@ -35,7 +35,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
 --- a/sound/soc/codecs/rt711.c
 +++ b/sound/soc/codecs/rt711.c
-@@ -1196,6 +1196,7 @@ int rt711_init(struct device *dev, struc
+@@ -1199,6 +1199,7 @@ int rt711_init(struct device *dev, struc
        rt711->sdw_regmap = sdw_regmap;
        rt711->regmap = regmap;
  
@@ -43,7 +43,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        mutex_init(&rt711->disable_irq_lock);
  
        /*
-@@ -1310,7 +1311,6 @@ int rt711_io_init(struct device *dev, st
+@@ -1313,7 +1314,6 @@ int rt711_io_init(struct device *dev, st
                        rt711_jack_detect_handler);
                INIT_DELAYED_WORK(&rt711->jack_btn_check_work,
                        rt711_btn_check_handler);
index 8248d861aafe99f9f3905229b24d1cf3ebc25a85..094a2ae6218e008750f8dacce1628ee55264e628 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
 --- a/sound/soc/codecs/rt711-sdca.c
 +++ b/sound/soc/codecs/rt711-sdca.c
-@@ -1411,6 +1411,7 @@ int rt711_sdca_init(struct device *dev,
+@@ -1414,6 +1414,7 @@ int rt711_sdca_init(struct device *dev,
        rt711->regmap = regmap;
        rt711->mbq_regmap = mbq_regmap;
  
@@ -53,7 +53,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        mutex_init(&rt711->disable_irq_lock);
  
        /*
-@@ -1549,7 +1550,6 @@ int rt711_sdca_io_init(struct device *de
+@@ -1552,7 +1553,6 @@ int rt711_sdca_io_init(struct device *de
                        rt711_sdca_jack_detect_handler);
                INIT_DELAYED_WORK(&rt711->jack_btn_check_work,
                        rt711_sdca_btn_check_handler);
index 5f506efb91e57a004fe47e79ec0b85870fb69de0..7b223433fe7384c6733fc242e32feb0dd2504efc 100644 (file)
@@ -1055,7 +1055,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
                        ret = btrfs_lookup_csums_range(csum_root,
                                                extent_logical,
-@@ -4309,20 +4308,20 @@ static void scrub_remap_extent(struct bt
+@@ -4311,20 +4310,20 @@ static void scrub_remap_extent(struct bt
                               int *extent_mirror_num)
  {
        u64 mapped_length;
@@ -1096,7 +1096,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                             int mirror_num, int need_raid_map);
  
  /*
-@@ -5832,7 +5832,7 @@ static int find_live_mirror(struct btrfs
+@@ -5868,7 +5868,7 @@ static int find_live_mirror(struct btrfs
  }
  
  /* Bubble-sort the stripe set to put the parity/syndrome stripes last */
@@ -1105,7 +1105,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  {
        int i;
        int again = 1;
-@@ -5841,52 +5841,53 @@ static void sort_parity_stripes(struct b
+@@ -5877,52 +5877,53 @@ static void sort_parity_stripes(struct b
                again = 0;
                for (i = 0; i < num_stripes - 1; i++) {
                        /* Swap if parity is on a smaller index */
@@ -1183,7 +1183,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  }
  
  /* can REQ_OP_DISCARD be sent with other REQ like REQ_OP_WRITE? */
-@@ -5896,11 +5897,11 @@ void btrfs_put_bbio(struct btrfs_bio *bb
+@@ -5932,11 +5933,11 @@ void btrfs_put_bbio(struct btrfs_bio *bb
   */
  static int __btrfs_map_block_for_discard(struct btrfs_fs_info *fs_info,
                                         u64 logical, u64 *length_ret,
@@ -1197,7 +1197,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        u64 length = *length_ret;
        u64 offset;
        u64 stripe_nr;
-@@ -5919,8 +5920,8 @@ static int __btrfs_map_block_for_discard
+@@ -5955,8 +5956,8 @@ static int __btrfs_map_block_for_discard
        int ret = 0;
        int i;
  
@@ -1208,7 +1208,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        em = btrfs_get_chunk_map(fs_info, logical, length);
        if (IS_ERR(em))
-@@ -5983,26 +5984,25 @@ static int __btrfs_map_block_for_discard
+@@ -6019,26 +6020,25 @@ static int __btrfs_map_block_for_discard
                                        &stripe_index);
        }
  
@@ -1241,7 +1241,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
                        /*
                         * Special for the first stripe and
-@@ -6013,19 +6013,17 @@ static int __btrfs_map_block_for_discard
+@@ -6049,19 +6049,17 @@ static int __btrfs_map_block_for_discard
                         *    off     end_off
                         */
                        if (i < sub_stripes)
@@ -1264,7 +1264,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                }
  
                stripe_index++;
-@@ -6035,9 +6033,9 @@ static int __btrfs_map_block_for_discard
+@@ -6071,9 +6069,9 @@ static int __btrfs_map_block_for_discard
                }
        }
  
@@ -1277,7 +1277,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  out:
        free_extent_map(em);
        return ret;
-@@ -6061,7 +6059,7 @@ static int get_extra_mirror_from_replace
+@@ -6097,7 +6095,7 @@ static int get_extra_mirror_from_replace
                                         u64 srcdev_devid, int *mirror_num,
                                         u64 *physical)
  {
@@ -1286,7 +1286,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        int num_stripes;
        int index_srcdev = 0;
        int found = 0;
-@@ -6070,20 +6068,20 @@ static int get_extra_mirror_from_replace
+@@ -6106,20 +6104,20 @@ static int get_extra_mirror_from_replace
        int ret = 0;
  
        ret = __btrfs_map_block(fs_info, BTRFS_MAP_GET_READ_MIRRORS,
@@ -1311,7 +1311,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                return -EIO;
        }
  
-@@ -6093,7 +6091,7 @@ static int get_extra_mirror_from_replace
+@@ -6129,7 +6127,7 @@ static int get_extra_mirror_from_replace
         * pointer to the one of the target drive.
         */
        for (i = 0; i < num_stripes; i++) {
@@ -1320,7 +1320,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                        continue;
  
                /*
-@@ -6101,15 +6099,15 @@ static int get_extra_mirror_from_replace
+@@ -6137,15 +6135,15 @@ static int get_extra_mirror_from_replace
                 * mirror with the lowest physical address
                 */
                if (found &&
@@ -1339,7 +1339,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        ASSERT(found);
        if (!found)
-@@ -6140,12 +6138,12 @@ static bool is_block_group_to_copy(struc
+@@ -6176,12 +6174,12 @@ static bool is_block_group_to_copy(struc
  }
  
  static void handle_ops_on_dev_replace(enum btrfs_map_op op,
@@ -1354,7 +1354,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        u64 srcdev_devid = dev_replace->srcdev->devid;
        int tgtdev_indexes = 0;
        int num_stripes = *num_stripes_ret;
-@@ -6175,17 +6173,17 @@ static void handle_ops_on_dev_replace(en
+@@ -6211,17 +6209,17 @@ static void handle_ops_on_dev_replace(en
                 */
                index_where_to_add = num_stripes;
                for (i = 0; i < num_stripes; i++) {
@@ -1378,7 +1378,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                                index_where_to_add++;
                                max_errors++;
                                tgtdev_indexes++;
-@@ -6205,30 +6203,29 @@ static void handle_ops_on_dev_replace(en
+@@ -6241,30 +6239,29 @@ static void handle_ops_on_dev_replace(en
                 * full copy of the source drive.
                 */
                for (i = 0; i < num_stripes; i++) {
@@ -1416,7 +1416,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
                        tgtdev_indexes++;
                        num_stripes++;
-@@ -6237,8 +6234,8 @@ static void handle_ops_on_dev_replace(en
+@@ -6273,8 +6270,8 @@ static void handle_ops_on_dev_replace(en
  
        *num_stripes_ret = num_stripes;
        *max_errors_ret = max_errors;
@@ -1427,7 +1427,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  }
  
  static bool need_full_stripe(enum btrfs_map_op op)
-@@ -6341,7 +6338,7 @@ int btrfs_get_io_geometry(struct btrfs_f
+@@ -6377,7 +6374,7 @@ int btrfs_get_io_geometry(struct btrfs_f
  static int __btrfs_map_block(struct btrfs_fs_info *fs_info,
                             enum btrfs_map_op op,
                             u64 logical, u64 *length,
@@ -1436,7 +1436,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                             int mirror_num, int need_raid_map)
  {
        struct extent_map *em;
-@@ -6356,7 +6353,7 @@ static int __btrfs_map_block(struct btrf
+@@ -6392,7 +6389,7 @@ static int __btrfs_map_block(struct btrf
        int num_stripes;
        int max_errors = 0;
        int tgtdev_indexes = 0;
@@ -1445,7 +1445,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace;
        int dev_replace_is_ongoing = 0;
        int num_alloc_stripes;
-@@ -6365,7 +6362,7 @@ static int __btrfs_map_block(struct btrf
+@@ -6401,7 +6398,7 @@ static int __btrfs_map_block(struct btrf
        u64 raid56_full_stripe_start = (u64)-1;
        struct btrfs_io_geometry geom;
  
@@ -1454,7 +1454,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        ASSERT(op != BTRFS_MAP_DISCARD);
  
        em = btrfs_get_chunk_map(fs_info, logical, *length);
-@@ -6509,20 +6506,20 @@ static int __btrfs_map_block(struct btrf
+@@ -6545,20 +6542,20 @@ static int __btrfs_map_block(struct btrf
                tgtdev_indexes = num_stripes;
        }
  
@@ -1480,7 +1480,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        if (map->type & BTRFS_BLOCK_GROUP_RAID56_MASK && need_raid_map &&
            (need_full_stripe(op) || mirror_num > 1)) {
                u64 tmp;
-@@ -6534,15 +6531,15 @@ static int __btrfs_map_block(struct btrf
+@@ -6570,15 +6567,15 @@ static int __btrfs_map_block(struct btrf
                /* Fill in the logical address of each stripe */
                tmp = stripe_nr * data_stripes;
                for (i = 0; i < data_stripes; i++)
@@ -1500,7 +1500,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        if (need_full_stripe(op))
-@@ -6550,15 +6547,15 @@ static int __btrfs_map_block(struct btrf
+@@ -6586,15 +6583,15 @@ static int __btrfs_map_block(struct btrf
  
        if (dev_replace_is_ongoing && dev_replace->tgtdev != NULL &&
            need_full_stripe(op)) {
@@ -1522,7 +1522,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        /*
         * this is the case that REQ_READ && dev_replace_is_ongoing &&
-@@ -6567,9 +6564,9 @@ static int __btrfs_map_block(struct btrf
+@@ -6603,9 +6600,9 @@ static int __btrfs_map_block(struct btrf
         */
        if (patch_the_first_stripe_for_dev_replace && num_stripes > 0) {
                WARN_ON(num_stripes > 1);
@@ -1535,7 +1535,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  out:
        if (dev_replace_is_ongoing) {
-@@ -6583,40 +6580,40 @@ out:
+@@ -6619,40 +6616,40 @@ out:
  
  int btrfs_map_block(struct btrfs_fs_info *fs_info, enum btrfs_map_op op,
                      u64 logical, u64 *length,
@@ -1587,7 +1587,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                if (bio->bi_status == BLK_STS_IOERR ||
                    bio->bi_status == BLK_STS_TARGET) {
                        struct btrfs_device *dev = btrfs_io_bio(bio)->device;
-@@ -6634,22 +6631,22 @@ static void btrfs_end_bio(struct bio *bi
+@@ -6670,22 +6667,22 @@ static void btrfs_end_bio(struct bio *bi
                }
        }
  
@@ -1616,7 +1616,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                        bio->bi_status = BLK_STS_IOERR;
                } else {
                        /*
-@@ -6659,18 +6656,18 @@ static void btrfs_end_bio(struct bio *bi
+@@ -6695,18 +6692,18 @@ static void btrfs_end_bio(struct bio *bi
                        bio->bi_status = BLK_STS_OK;
                }
  
@@ -1639,7 +1639,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        btrfs_io_bio(bio)->device = dev;
        bio->bi_end_io = btrfs_end_bio;
        bio->bi_iter.bi_sector = physical >> 9;
-@@ -6700,20 +6697,20 @@ static void submit_stripe_bio(struct btr
+@@ -6736,20 +6733,20 @@ static void submit_stripe_bio(struct btr
        btrfsic_submit_bio(bio);
  }
  
@@ -1667,7 +1667,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  }
  
-@@ -6728,35 +6725,35 @@ blk_status_t btrfs_map_bio(struct btrfs_
+@@ -6764,35 +6761,35 @@ blk_status_t btrfs_map_bio(struct btrfs_
        int ret;
        int dev_nr;
        int total_devs;
@@ -1714,7 +1714,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                                                    map_length, mirror_num, 1);
                }
  
-@@ -6772,12 +6769,12 @@ blk_status_t btrfs_map_bio(struct btrfs_
+@@ -6808,12 +6805,12 @@ blk_status_t btrfs_map_bio(struct btrfs_
        }
  
        for (dev_nr = 0; dev_nr < total_devs; dev_nr++) {
@@ -1729,7 +1729,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
                        continue;
                }
  
-@@ -6786,7 +6783,7 @@ blk_status_t btrfs_map_bio(struct btrfs_
+@@ -6822,7 +6819,7 @@ blk_status_t btrfs_map_bio(struct btrfs_
                else
                        bio = first_bio;
  
@@ -1809,7 +1809,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
  struct btrfs_balance_args;
  struct btrfs_balance_progress;
-@@ -441,14 +457,14 @@ static inline enum btrfs_map_op btrfs_op
+@@ -457,14 +473,14 @@ static inline enum btrfs_map_op btrfs_op
        }
  }
  
index 4015de91f1dc8b2c8db308cc45a667b8d083b43e..8ce291dfa9efd2d5e5407268d41214ad4cce25dc 100644 (file)
@@ -53,7 +53,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/fs/btrfs/inode.c
 +++ b/fs/btrfs/inode.c
-@@ -7956,7 +7956,19 @@ static int btrfs_dio_iomap_begin(struct
+@@ -7957,7 +7957,19 @@ static int btrfs_dio_iomap_begin(struct
        if (test_bit(EXTENT_FLAG_COMPRESSED, &em->flags) ||
            em->block_start == EXTENT_MAP_INLINE) {
                free_extent_map(em);
index 16dc7cb046fbffee6eb3cedaea9ee56d01963baf..ee81de7318746f301a71d378ca5021e732d8f278 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  #include <linux/mm.h>
  #include <linux/mman.h>
  #include <linux/vt.h>
-@@ -1774,6 +1775,17 @@ int remove_conflicting_framebuffers(stru
+@@ -1786,6 +1787,17 @@ int remove_conflicting_framebuffers(stru
                do_free = true;
        }
  
index 21d84952139d501408ae5ba5bc6e8e4f8dd582ca..581fd51369b4dee95cb9b2ab23644cf4d1074bbf 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
 
 --- a/include/net/netfilter/nf_tables.h
 +++ b/include/net/netfilter/nf_tables.h
-@@ -636,18 +636,22 @@ static inline void nft_set_ext_prepare(s
+@@ -642,18 +642,22 @@ static inline void nft_set_ext_prepare(s
        tmpl->len = sizeof(struct nft_set_ext);
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  static inline void nft_set_ext_init(struct nft_set_ext *ext,
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -5729,8 +5729,11 @@ static int nft_add_set_elem(struct nft_c
+@@ -5736,8 +5736,11 @@ static int nft_add_set_elem(struct nft_c
        if (!nla[NFTA_SET_ELEM_KEY] && !(flags & NFT_SET_ELEM_CATCHALL))
                return -EINVAL;
  
@@ -67,7 +67,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        if (set->flags & NFT_SET_MAP) {
                if (nla[NFTA_SET_ELEM_DATA] == NULL &&
-@@ -5839,7 +5842,9 @@ static int nft_add_set_elem(struct nft_c
+@@ -5846,7 +5849,9 @@ static int nft_add_set_elem(struct nft_c
                if (err < 0)
                        goto err_set_elem_expr;
  
@@ -78,7 +78,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        if (nla[NFTA_SET_ELEM_KEY_END]) {
-@@ -5848,22 +5853,31 @@ static int nft_add_set_elem(struct nft_c
+@@ -5855,22 +5860,31 @@ static int nft_add_set_elem(struct nft_c
                if (err < 0)
                        goto err_parse_key;
  
@@ -117,7 +117,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        if (nla[NFTA_SET_ELEM_OBJREF] != NULL) {
-@@ -5878,7 +5892,9 @@ static int nft_add_set_elem(struct nft_c
+@@ -5885,7 +5899,9 @@ static int nft_add_set_elem(struct nft_c
                        err = PTR_ERR(obj);
                        goto err_parse_key_end;
                }
@@ -128,7 +128,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        if (nla[NFTA_SET_ELEM_DATA] != NULL) {
-@@ -5912,7 +5928,9 @@ static int nft_add_set_elem(struct nft_c
+@@ -5919,7 +5935,9 @@ static int nft_add_set_elem(struct nft_c
                                                          NFT_VALIDATE_NEED);
                }
  
@@ -139,7 +139,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        /* The full maximum length of userdata can exceed the maximum
-@@ -5922,9 +5940,12 @@ static int nft_add_set_elem(struct nft_c
+@@ -5929,9 +5947,12 @@ static int nft_add_set_elem(struct nft_c
        ulen = 0;
        if (nla[NFTA_SET_ELEM_USERDATA] != NULL) {
                ulen = nla_len(nla[NFTA_SET_ELEM_USERDATA]);
@@ -155,7 +155,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        err = -ENOMEM;
-@@ -6150,8 +6171,11 @@ static int nft_del_setelem(struct nft_ct
+@@ -6157,8 +6178,11 @@ static int nft_del_setelem(struct nft_ct
  
        nft_set_ext_prepare(&tmpl);
  
@@ -169,7 +169,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        if (nla[NFTA_SET_ELEM_KEY]) {
                err = nft_setelem_parse_key(ctx, set, &elem.key.val,
-@@ -6159,16 +6183,20 @@ static int nft_del_setelem(struct nft_ct
+@@ -6166,16 +6190,20 @@ static int nft_del_setelem(struct nft_ct
                if (err < 0)
                        return err;
  
@@ -193,7 +193,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
        }
  
        err = -ENOMEM;
-@@ -6176,7 +6204,7 @@ static int nft_del_setelem(struct nft_ct
+@@ -6183,7 +6211,7 @@ static int nft_del_setelem(struct nft_ct
                                      elem.key_end.val.data, NULL, 0, 0,
                                      GFP_KERNEL);
        if (elem.priv == NULL)
@@ -202,7 +202,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        ext = nft_set_elem_ext(set, elem.priv);
        if (flags)
-@@ -6200,6 +6228,8 @@ fail_ops:
+@@ -6207,6 +6235,8 @@ fail_ops:
        kfree(trans);
  fail_trans:
        kfree(elem.priv);
index 1939111ef8b76b0e41800caf6264e644713a85f1..0c31640f66e7ffc96853b4a8aeebaa1b47aa5053 100644 (file)
@@ -155,3 +155,7 @@ alsa-usb-audio-add-quirk-for-fiero-sc-01.patch
 alsa-usb-audio-add-quirk-for-fiero-sc-01-fw-v1.0.0.patch
 nvme-pci-phison-e16-has-bogus-namespace-ids.patch
 signal-handling-don-t-use-bug_on-for-debugging.patch
+usb-serial-ftdi_sio-add-belimo-device-ids.patch
+usb-typec-add-missing-uevent-when-partner-support-pd.patch
+usb-dwc3-gadget-fix-event-pending-check.patch
+tty-serial-samsung_tty-set-dma-burst_size-to-1.patch
diff --git a/queue-5.15/tty-serial-samsung_tty-set-dma-burst_size-to-1.patch b/queue-5.15/tty-serial-samsung_tty-set-dma-burst_size-to-1.patch
new file mode 100644 (file)
index 0000000..e704684
--- /dev/null
@@ -0,0 +1,45 @@
+From f7e35e4bf1e8dc2c8cbd5e0955dc1bd58558dae0 Mon Sep 17 00:00:00 2001
+From: Chanho Park <chanho61.park@samsung.com>
+Date: Mon, 27 Jun 2022 15:51:13 +0900
+Subject: tty: serial: samsung_tty: set dma burst_size to 1
+
+From: Chanho Park <chanho61.park@samsung.com>
+
+commit f7e35e4bf1e8dc2c8cbd5e0955dc1bd58558dae0 upstream.
+
+The src_maxburst and dst_maxburst have been changed to 1 but the settings
+of the UCON register aren't changed yet. They should be changed as well
+according to the dmaengine slave config.
+
+Fixes: aa2f80e752c7 ("serial: samsung: fix maxburst parameter for DMA transactions")
+Cc: stable <stable@kernel.org>
+Cc: Marek Szyprowski <m.szyprowski@samsung.com>
+Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Signed-off-by: Chanho Park <chanho61.park@samsung.com>
+Link: https://lore.kernel.org/r/20220627065113.139520-1-chanho61.park@samsung.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/tty/serial/samsung_tty.c |    5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/drivers/tty/serial/samsung_tty.c
++++ b/drivers/tty/serial/samsung_tty.c
+@@ -378,8 +378,7 @@ static void enable_tx_dma(struct s3c24xx
+       /* Enable tx dma mode */
+       ucon = rd_regl(port, S3C2410_UCON);
+       ucon &= ~(S3C64XX_UCON_TXBURST_MASK | S3C64XX_UCON_TXMODE_MASK);
+-      ucon |= (dma_get_cache_alignment() >= 16) ?
+-              S3C64XX_UCON_TXBURST_16 : S3C64XX_UCON_TXBURST_1;
++      ucon |= S3C64XX_UCON_TXBURST_1;
+       ucon |= S3C64XX_UCON_TXMODE_DMA;
+       wr_regl(port,  S3C2410_UCON, ucon);
+@@ -675,7 +674,7 @@ static void enable_rx_dma(struct s3c24xx
+                       S3C64XX_UCON_DMASUS_EN |
+                       S3C64XX_UCON_TIMEOUT_EN |
+                       S3C64XX_UCON_RXMODE_MASK);
+-      ucon |= S3C64XX_UCON_RXBURST_16 |
++      ucon |= S3C64XX_UCON_RXBURST_1 |
+                       0xf << S3C64XX_UCON_TIMEOUT_SHIFT |
+                       S3C64XX_UCON_EMPTYINT_EN |
+                       S3C64XX_UCON_TIMEOUT_EN |
diff --git a/queue-5.15/usb-dwc3-gadget-fix-event-pending-check.patch b/queue-5.15/usb-dwc3-gadget-fix-event-pending-check.patch
new file mode 100644 (file)
index 0000000..730a4d9
--- /dev/null
@@ -0,0 +1,51 @@
+From 7441b273388b9a59d8387a03ffbbca9d5af6348c Mon Sep 17 00:00:00 2001
+From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
+Date: Mon, 27 Jun 2022 18:41:19 -0700
+Subject: usb: dwc3: gadget: Fix event pending check
+
+From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
+
+commit 7441b273388b9a59d8387a03ffbbca9d5af6348c upstream.
+
+The DWC3_EVENT_PENDING flag is used to protect against invalid call to
+top-half interrupt handler, which can occur when there's a delay in
+software detection of the interrupt line deassertion.
+
+However, the clearing of this flag was done prior to unmasking the
+interrupt line, creating opportunity where the top-half handler can
+come. This breaks the serialization and creates a race between the
+top-half and bottom-half handler, resulting in losing synchronization
+between the controller and the driver when processing events.
+
+To fix this, make sure the clearing of the DWC3_EVENT_PENDING is done at
+the end of the bottom-half handler.
+
+Fixes: d325a1de49d6 ("usb: dwc3: gadget: Prevent losing events in event cache")
+Cc: stable@vger.kernel.org
+Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
+Link: https://lore.kernel.org/r/8670aaf1cf52e7d1e6df2a827af2d77263b93b75.1656380429.git.Thinh.Nguyen@synopsys.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/dwc3/gadget.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/dwc3/gadget.c
++++ b/drivers/usb/dwc3/gadget.c
+@@ -4149,7 +4149,6 @@ static irqreturn_t dwc3_process_event_bu
+       }
+       evt->count = 0;
+-      evt->flags &= ~DWC3_EVENT_PENDING;
+       ret = IRQ_HANDLED;
+       /* Unmask interrupt */
+@@ -4162,6 +4161,9 @@ static irqreturn_t dwc3_process_event_bu
+               dwc3_writel(dwc->regs, DWC3_DEV_IMOD(0), dwc->imod_interval);
+       }
++      /* Keep the clearing of DWC3_EVENT_PENDING at the end */
++      evt->flags &= ~DWC3_EVENT_PENDING;
++
+       return ret;
+ }
diff --git a/queue-5.15/usb-serial-ftdi_sio-add-belimo-device-ids.patch b/queue-5.15/usb-serial-ftdi_sio-add-belimo-device-ids.patch
new file mode 100644 (file)
index 0000000..ea5f0bd
--- /dev/null
@@ -0,0 +1,47 @@
+From 7c239a071d1f04b7137789810807b4108d475c72 Mon Sep 17 00:00:00 2001
+From: Lucien Buchmann <lucien.buchmann@gmx.net>
+Date: Sat, 25 Jun 2022 02:17:44 +0200
+Subject: USB: serial: ftdi_sio: add Belimo device ids
+
+From: Lucien Buchmann <lucien.buchmann@gmx.net>
+
+commit 7c239a071d1f04b7137789810807b4108d475c72 upstream.
+
+Those two product ids are known.
+
+Signed-off-by: Lucien Buchmann <lucien.buchmann@gmx.net>
+Cc: stable@vger.kernel.org
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/serial/ftdi_sio.c     |    3 +++
+ drivers/usb/serial/ftdi_sio_ids.h |    6 ++++++
+ 2 files changed, 9 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -1023,6 +1023,9 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(FTDI_VID, CHETCO_SEASMART_DISPLAY_PID) },
+       { USB_DEVICE(FTDI_VID, CHETCO_SEASMART_LITE_PID) },
+       { USB_DEVICE(FTDI_VID, CHETCO_SEASMART_ANALOG_PID) },
++      /* Belimo Automation devices */
++      { USB_DEVICE(FTDI_VID, BELIMO_ZTH_PID) },
++      { USB_DEVICE(FTDI_VID, BELIMO_ZIP_PID) },
+       /* ICP DAS I-756xU devices */
+       { USB_DEVICE(ICPDAS_VID, ICPDAS_I7560U_PID) },
+       { USB_DEVICE(ICPDAS_VID, ICPDAS_I7561U_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1569,6 +1569,12 @@
+ #define CHETCO_SEASMART_ANALOG_PID    0xA5AF /* SeaSmart Analog Adapter */
+ /*
++ * Belimo Automation
++ */
++#define BELIMO_ZTH_PID                        0x8050
++#define BELIMO_ZIP_PID                        0xC811
++
++/*
+  * Unjo AB
+  */
+ #define UNJO_VID                      0x22B7
diff --git a/queue-5.15/usb-typec-add-missing-uevent-when-partner-support-pd.patch b/queue-5.15/usb-typec-add-missing-uevent-when-partner-support-pd.patch
new file mode 100644 (file)
index 0000000..545fd93
--- /dev/null
@@ -0,0 +1,37 @@
+From 6fb9e1d94789e8ee5a258a23bc588693f743fd6c Mon Sep 17 00:00:00 2001
+From: Linyu Yuan <quic_linyyuan@quicinc.com>
+Date: Fri, 1 Jul 2022 16:08:54 +0800
+Subject: usb: typec: add missing uevent when partner support PD
+
+From: Linyu Yuan <quic_linyyuan@quicinc.com>
+
+commit 6fb9e1d94789e8ee5a258a23bc588693f743fd6c upstream.
+
+System like Android allow user control power role from UI, it is possible
+to implement application base on typec uevent to refresh UI, but found
+there is chance that UI show different state from typec attribute file.
+
+In typec_set_pwr_opmode(), when partner support PD, there is no uevent
+send to user space which cause the problem.
+
+Fix it by sending uevent notification when change power mode to PD.
+
+Fixes: bdecb33af34f ("usb: typec: API for controlling USB Type-C Multiplexers")
+Cc: stable@vger.kernel.org
+Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
+Link: https://lore.kernel.org/r/1656662934-10226-1-git-send-email-quic_linyyuan@quicinc.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/typec/class.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/typec/class.c
++++ b/drivers/usb/typec/class.c
+@@ -1718,6 +1718,7 @@ void typec_set_pwr_opmode(struct typec_p
+                       partner->usb_pd = 1;
+                       sysfs_notify(&partner_dev->kobj, NULL,
+                                    "supports_usb_power_delivery");
++                      kobject_uevent(&partner_dev->kobj, KOBJ_CHANGE);
+               }
+               put_device(partner_dev);
+       }