1. 26 Jan, 2020 1 commit
  2. 16 Jan, 2020 1 commit
  3. 15 Jan, 2020 1 commit
  4. 14 Jan, 2020 1 commit
  5. 10 Jan, 2020 2 commits
  6. 09 Jan, 2020 1 commit
    • Ming Lei's avatar
      fs: move guard_bio_eod() after bio_set_op_attrs · 83c9c547
      Ming Lei authored
      Commit 85a8ce62 ("block: add bio_truncate to fix guard_bio_eod")
      adds bio_truncate() for handling bio EOD. However, bio_truncate()
      doesn't use the passed 'op' parameter from guard_bio_eod's callers.
      So bio_trunacate() may retrieve wrong 'op', and zering pages may
      not be done for READ bio.
      Fixes this issue by moving guard_bio_eod() after bio_set_op_attrs()
      in submit_bh_wbc() so that bio_truncate() can always retrieve correct
      op info.
      Meantime remove the 'op' parameter from guard_bio_eod() because it isn't
      used any more.
      Cc: Carlos Maiolino <cmaiolino@redhat.com>
      Cc: linux-fsdevel@vger.kernel.org
      Fixes: 85a8ce62
       ("block: add bio_truncate to fix guard_bio_eod")
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Fold in kerneldoc and bio_op() change.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
  7. 05 Jan, 2020 1 commit
  8. 30 Dec, 2019 2 commits
    • Damien Le Moal's avatar
      null_blk: Fix REQ_OP_ZONE_CLOSE handling · c7d776f8
      Damien Le Moal authored
      In order to match ZBC defined behavior, closing an empty zone must
      result in the "empty" zone condition instead of the "closed" condition.
      Fixes: da644b2c
       ("null_blk: add zone open, close, and finish support")
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Ming Lei's avatar
      block: fix splitting segments on boundary masks · 429120f3
      Ming Lei authored
      We ran into a problem with a mpt3sas based controller, where we would
      see random (and hard to reproduce) file corruption). The issue seemed
      specific to this controller, but wasn't specific to the file system.
      After a lot of debugging, we find out that it's caused by segments
      spanning a 4G memory boundary. This shouldn't happen, as the default
      setting for segment boundary masks is 4G.
      Turns out there are two issues in get_max_segment_size():
      1) The default segment boundary mask is bypassed
      2) The segment start address isn't taken into account when checking
         segment boundary limit
      Fix these two issues by removing the bypass of the segment boundary
      check even if the mask is set to the default value, and taking into
      account the actual start address of the request when checking if a
      segment needs splitting.
      Cc: stable@vger.kernel.org # v5.1+
      Reviewed-by: default avatarChris Mason <clm@fb.com>
      Tested-by: default avatarChris Mason <clm@fb.com>
      Fixes: dcebd755
       ("block: use bio_for_each_bvec() to compute multi-page bvec count")
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Dropped const on the page pointer, ppc page_to_phys() doesn't mark the
      page as const...
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
  9. 28 Dec, 2019 1 commit
    • Ming Lei's avatar
      block: add bio_truncate to fix guard_bio_eod · 85a8ce62
      Ming Lei authored
      Some filesystem, such as vfat, may send bio which crosses device boundary,
      and the worse thing is that the IO request starting within device boundaries
      can contain more than one segment past EOD.
      Commit dce30ca9 ("fs: fix guard_bio_eod to check for real EOD errors")
      tries to fix this issue by returning -EIO for this situation. However,
      this way lets fs user code lose chance to handle -EIO, then sync_inodes_sb()
      may hang for ever.
      Also the current truncating on last segment is dangerous by updating the
      last bvec, given bvec table becomes not immutable any more, and fs bio
      users may not retrieve the truncated pages via bio_for_each_segment_all() in
      its .end_io callback.
      Fixes this issue by supporting multi-segment truncating. And the
      approach is simpler:
      - just update bio size since block layer can make correct bvec with
      the updated bio size. Then bvec table becomes really immutable.
      - zero all truncated segments for read bio
      Cc: Carlos Maiolino <cmaiolino@redhat.com>
      Cc: linux-fsdevel@vger.kernel.org
      Fixed-by: dce30ca9
       ("fs: fix guard_bio_eod to check for real EOD errors")
      Reported-by: default avatar <syzbot+2b9e54155c8c25d8d165@syzkaller.appspotmail.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
  10. 21 Dec, 2019 5 commits
  11. 20 Dec, 2019 7 commits
    • David Jeffery's avatar
      sbitmap: only queue kyber's wait callback if not already active · df034c93
      David Jeffery authored
      Under heavy loads where the kyber I/O scheduler hits the token limits for
      its scheduling domains, kyber can become stuck.  When active requests
      complete, kyber may not be woken up leaving the I/O requests in kyber
      This stuck state is due to a race condition with kyber and the sbitmap
      functions it uses to run a callback when enough requests have completed.
      The running of a sbt_wait callback can race with the attempt to insert the
      sbt_wait.  Since sbitmap_del_wait_queue removes the sbt_wait from the list
      first then sets the sbq field to NULL, kyber can see the item as not on a
      list but the call to sbitmap_add_wait_queue will see sbq as non-NULL. This
      results in the sbt_wait being inserted onto the wait list but ws_active
      doesn't get incremented.  So the sbitmap queue does not know there is a
      waiter on a wait list.
      Since sbitmap doesn't think there is a waiter, kyber may never be
      informed that there are domain tokens available and the I/O never advances.
      With the sbt_wait on a wait list, kyber believes it has an active waiter
      so cannot insert a new waiter when reaching the domain's full state.
      This race can be fixed by only adding the sbt_wait to the queue if the
      sbq field is NULL.  If sbq is not NULL, there is already an action active
      which will trigger the re-running of kyber.  Let it run and add the
      sbt_wait to the wait list if still needing to wait.
      Reviewed-by: default avatarOmar Sandoval <osandov@fb.com>
      Signed-off-by: default avatarDavid Jeffery <djeffery@redhat.com>
      Reported-by: default avatarJohn Pittman <jpittman@redhat.com>
      Tested-by: default avatarJohn Pittman <jpittman@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Yang Yingliang's avatar
      block: fix memleak when __blk_rq_map_user_iov() is failed · 3b7995a9
      Yang Yingliang authored
      When I doing fuzzy test, get the memleak report:
      BUG: memory leak
      unreferenced object 0xffff88837af80000 (size 4096):
        comm "memleak", pid 3557, jiffies 4294817681 (age 112.499s)
        hex dump (first 32 bytes):
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          20 00 00 00 10 01 00 00 00 00 00 00 01 00 00 00   ...............
          [<000000001c894df8>] bio_alloc_bioset+0x393/0x590
          [<000000008b139a3c>] bio_copy_user_iov+0x300/0xcd0
          [<00000000a998bd8c>] blk_rq_map_user_iov+0x2f1/0x5f0
          [<000000005ceb7f05>] blk_rq_map_user+0xf2/0x160
          [<000000006454da92>] sg_common_write.isra.21+0x1094/0x1870
          [<00000000064bb208>] sg_write.part.25+0x5d9/0x950
          [<000000004fc670f6>] sg_write+0x5f/0x8c
          [<00000000b0d05c7b>] __vfs_write+0x7c/0x100
          [<000000008e177714>] vfs_write+0x1c3/0x500
          [<0000000087d23f34>] ksys_write+0xf9/0x200
          [<000000002c8dbc9d>] do_syscall_64+0x9f/0x4f0
          [<00000000678d8e9a>] entry_SYSCALL_64_after_hwframe+0x49/0xbe
      If __blk_rq_map_user_iov() is failed in blk_rq_map_user_iov(),
      the bio(s) which is allocated before this failing will leak. The
      refcount of the bio(s) is init to 1 and increased to 2 by calling
      bio_get(), but __blk_rq_unmap_user() only decrease it to 1, so
      the bio cannot be freed. Fix it by calling blk_rq_unmap_user().
      Reviewed-by: default avatarBob Liu <bob.liu@oracle.com>
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Stefan Haberland's avatar
      s390/dasd: fix typo in copyright statement · daa400f5
      Stefan Haberland authored
      coypright -> copyright
      Reported-by: default avatarKate Stewart <kstewart@linuxfoundation.org>
      Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Stefan Haberland's avatar
      s390/dasd: fix memleak in path handling error case · 00b39f69
      Stefan Haberland authored
      If for whatever reason the dasd_eckd_check_characteristics() function
      exits after at least some paths have their configuration data
      allocated those data is never freed again. In the error case the
      device->private pointer is set to NULL and dasd_eckd_uncheck_device()
      will exit without freeing the path data because of this NULL pointer.
      Fix by calling dasd_eckd_clear_conf_data() for error cases.
      Also use dasd_eckd_clear_conf_data() in dasd_eckd_uncheck_device()
      to avoid code duplication.
      Reported-by: default avatarQian Cai <cai@lca.pw>
      Reviewed-by: default avatarJan Hoeppner <hoeppner@linux.ibm.com>
      Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Jan Höppner's avatar
      s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly · dd4b3c83
      Jan Höppner authored
      The max data count (mdc) is an unsigned 16-bit integer value as per AR
      documentation and is received via ccw_device_get_mdc() for a specific
      path mask from the CIO layer. The function itself also always returns a
      positive mdc value or 0 in case mdc isn't supported or couldn't be
      Though, the comment for this function describes a negative return value
      to indicate failures.
      As a result, the DASD device driver interprets the return value of
      ccw_device_get_mdc() incorrectly. The error case is essentially a dead
      code path.
      To fix this behaviour, check explicitly for a return value of 0 and
      change the comment for ccw_device_get_mdc() accordingly.
      This fix merely enables the error code path in the DASD functions
      get_fcx_max_data() and verify_fcx_max_data(). The actual functionality
      stays the same and is still correct.
      Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
      Signed-off-by: default avatarJan Höppner <hoeppner@linux.ibm.com>
      Acked-by: default avatarPeter Oberparleiter <oberpar@linux.ibm.com>
      Reviewed-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Bart Van Assche's avatar
      block: Fix a lockdep complaint triggered by request queue flushing · b3c6a599
      Bart Van Assche authored
      Avoid that running test nvme/012 from the blktests suite triggers the
      following false positive lockdep complaint:
      WARNING: possible recursive locking detected
      5.0.0-rc3-xfstests-00015-g1236f7d60242 #841 Not tainted
      ksoftirqd/1/16 is trying to acquire lock:
      000000000282032e (&(&fq->mq_flush_lock)->rlock){..-.}, at: flush_end_io+0x4e/0x1d0
      but task is already holding lock:
      00000000cbadcbc2 (&(&fq->mq_flush_lock)->rlock){..-.}, at: flush_end_io+0x4e/0x1d0
      other info that might help us debug this:
       Possible unsafe locking scenario:
       *** DEADLOCK ***
       May be due to missing lock nesting notation
      1 lock held by ksoftirqd/1/16:
       #0: 00000000cbadcbc2 (&(&fq->mq_flush_lock)->rlock){..-.}, at: flush_end_io+0x4e/0x1d0
      stack backtrace:
      CPU: 1 PID: 16 Comm: ksoftirqd/1 Not tainted 5.0.0-rc3-xfstests-00015-g1236f7d60242 #841
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       nvmet_req_complete+0x15/0x110 [nvmet]
       nvmet_bio_done+0x27/0x50 [nvmet]
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Ming Lei <ming.lei@redhat.com>
      Cc: Hannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    • Bart Van Assche's avatar
      block: Fix the type of 'sts' in bsg_queue_rq() · c44a4edb
      Bart Van Assche authored
      This patch fixes the following sparse warnings:
      block/bsg-lib.c:269:19: warning: incorrect type in initializer (different base types)
      block/bsg-lib.c:269:19:    expected int sts
      block/bsg-lib.c:269:19:    got restricted blk_status_t [usertype]
      block/bsg-lib.c:286:16: warning: incorrect type in return expression (different base types)
      block/bsg-lib.c:286:16:    expected restricted blk_status_t
      block/bsg-lib.c:286:16:    got int [assigned] sts
      Cc: Martin Wilck <mwilck@suse.com>
      Fixes: d46fe2cb
       ("block: drop device references in bsg_queue_rq()")
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
  12. 17 Dec, 2019 1 commit
  13. 16 Dec, 2019 5 commits
  14. 15 Dec, 2019 6 commits
    • Linus Torvalds's avatar
      Linux 5.5-rc2 · d1eef1c6
      Linus Torvalds authored
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 9603e221
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
       "A small collection of -rc fixes. Mostly. One API addition, but that's
        because we wanted to use it in a fix. There's also a bug fix that is
        going to render the 5.5 kernel's soft-RoCE driver incompatible with
        all soft-RoCE versions prior, but it's required to actually implement
        the protocol according to the RoCE spec and required in order for the
        soft-RoCE driver to be able to successfully work with actual RoCE
         - Update Steve Wise info
         - Fix for soft-RoCE crc calculations (will break back compatibility,
           but only with the soft-RoCE driver, which has had this bug since it
           was introduced and it is an on-the-wire bug, but will make
           soft-RoCE fully compatible with real RoCE hardware)
         - cma init fixup
         - counters oops fix
         - fix for mlx4 init/teardown sequence
         - fix for mkx5 steering rules
         - introduce a cleanup API, which isn't a fix, but we want to use it
           in the next fix
         - fix for mlx5 memory management that uses API in previous patch"
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        IB/mlx5: Fix device memory flows
        IB/core: Introduce rdma_user_mmap_entry_insert_range() API
        IB/mlx5: Fix steering rule of drop and count
        IB/mlx4: Follow mirror sequence of device add during device removal
        RDMA/counter: Prevent auto-binding a QP which are not tracked with res
        rxe: correctly calculate iCRC for unaligned payloads
        Update mailmap info for Steve Wise
        RDMA/cma: add missed unregister_pernet_subsys in init failure
    • Linus Torvalds's avatar
      Merge tag 'riscv/for-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 1522d9da
      Linus Torvalds authored
      Pull RISC-V fixes from Paul Walmsley:
       "Two minor build fixes:
         - Fix builds of the ELF loader when built with 'make -j1' (nommu
         - Fix CONFIG_SOC_SIFIVE builds when CONFIG_TTY is disabled (found
           during randconfig testing)"
      * tag 'riscv/for-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: only select serial sifive if TTY is enabled
        riscv: Fix build dependency for loader
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.5b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · b01d7cb4
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Two fixes: one for a resource accounting bug in some configurations
        and a fix for another patch which went into rc1"
      * tag 'for-linus-5.5b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: fix ballooned page accounting without hotplug enabled
        xen-blkback: prevent premature module unload
    • Linus Torvalds's avatar
      Merge branch 'remove-ksys-mount-dup' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 2e6d3045
      Linus Torvalds authored
      Pull ksys_mount() and ksys_dup() removal from Dominik Brodowski:
       "This small series replaces all in-kernel calls to the
        userspace-focused ksys_mount() and ksys_dup() with calls to
        kernel-centric functions:
        For each replacement of ksys_mount() with do_mount(), one needs to
        verify that the first and third parameter (char *dev_name, char *type)
        are strings allocated in kernelspace and that the fifth parameter
        (void *data) is either NULL or refers to a full page (only occurence
        in init/do_mounts.c::do_mount_root()). The second and fourth
        parameters (char *dir_name, unsigned long flags) are passed by
        ksys_mount() to do_mount() unchanged, and therefore do not require
        particular care.
        Moreover, instead of pretending to be userspace, the opening of
        /dev/console as stdin/stdout/stderr can be implemented using in-kernel
        functions as well. Thereby, ksys_dup() can be removed for good"
      [ This doesn't get rid of the special "kernel init runs with KERNEL_DS"
        case, but it at least removes _some_ of the users of "treat kernel
        pointers as user pointers for our magical init sequence".
        One day we'll hopefully be rid of it all, and can initialize our
        init_thread addr_limit to USER_DS.    - Linus ]
      * 'remove-ksys-mount-dup' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        fs: remove ksys_dup()
        init: unify opening /dev/console as stdin/stdout/stderr
        init: use do_mount() instead of ksys_mount()
        initrd: use do_mount() instead of ksys_mount()
        devtmpfs: use do_mount() instead of ksys_mount()
    • Linus Torvalds's avatar
      Merge tag 'Wimplicit-fallthrough-5.5-rc2' of... · 510c9788
      Linus Torvalds authored
      Merge tag 'Wimplicit-fallthrough-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      Pull fall through fix from Gustavo Silva:
       "Fix compile error on sh by marking expected switch fall-through"
      * tag 'Wimplicit-fallthrough-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        sh: kgdb: Mark expected switch fall-throughs
  15. 14 Dec, 2019 5 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 07c4b9e9
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "24 fixes, all in drivers. The lion's share (16) are qla2xxx and the
        rest are iscsi (3), ufs (2), smarpqi, lpfc and libsas"
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits)
        scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
        scsi: iscsi: Fix a potential deadlock in the timeout handler
        scsi: smartpqi: Update attribute name to `driver_version`
        scsi: libsas: stop discovering if oob mode is disconnected
        scsi: ufs: Disable autohibern8 feature in Cadence UFS
        scsi: iscsi: qla4xxx: fix double free in probe
        scsi: ufs: Give an unique ID to each ufs-bsg
        scsi: qla2xxx: Add debug dump of LOGO payload and ELS IOCB
        scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI
        scsi: qla2xxx: Don't defer relogin unconditonally
        scsi: qla2xxx: Send Notify ACK after N2N PLOGI
        scsi: qla2xxx: Configure local loop for N2N target
        scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length
        scsi: qla2xxx: Don't call qlt_async_event twice
        scsi: qla2xxx: Allow PLOGI in target mode
        scsi: qla2xxx: Change discovery state before PLOGI
        scsi: qla2xxx: Drop superfluous INIT_WORK of del_work
        scsi: qla2xxx: Initialize free_work before flushing it
        scsi: qla2xxx: Use explicit LOGO in target mode
        scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f61cf8de
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are six small fixes for some reported char/misc driver issues:
         - fix build warnings with new 'awk' with the raid6 code
         - four interconnect driver bugfixes
         - binder fix for reported problem
        All of these except the binder fix have been in linux-next with no
        reported issues. The binder fix is "new" but Todd says it is good as
        he has tested it :)"
      * tag 'char-misc-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: fix incorrect calculation for num_valid
        interconnect: qcom: msm8974: Walk the list safely on node removal
        interconnect: qcom: qcs404: Walk the list safely on node removal
        interconnect: qcom: sdm845: Walk the list safely on node removal
        interconnect: qcom: Fix Kconfig indentation
        lib: raid6: fix awk build warnings
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 894554c1
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are two small driver core fixes to resolve some reported issues
        The first is to handle the much-reported (by the build systems)
        problem that superH does not boot anymore.
        The second handles an issue in the new platform logic that a number of
        people ran into with the automated tests in kbuild
        Both of these have been in linux-next with no reported issues"
      * tag 'driver-core-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        drivers: Fix boot problem on SuperH
        of/platform: Unconditionally pause/resume sync state during kernel init
    • Linus Torvalds's avatar
      Merge tag 'staging-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · aff2a525
      Linus Torvalds authored
      Pull staging/IIO fixes from Greg KH:
       "Here are a number of small staging and IIO driver fixes for reported
        issues for 5.5-rc2
        Nothing major, a bunch of tiny IIO driver issues resolved, and some
        staging driver fixes for things that people ran into with 5.5-rc1.
        Full details are in the shortlog.
        All of these have been in linux-next with no reported issues"
      * tag 'staging-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (28 commits)
        fbtft: Fix the initialization from property algorithm
        staging: rtl8712: fix interface sanity check
        staging: rtl8188eu: fix interface sanity check
        staging: gigaset: add endpoint-type sanity check
        staging: gigaset: fix illegal free on probe errors
        staging: gigaset: fix general protection fault on probe
        staging: vchiq: call unregister_chrdev_region() when driver registration fails
        staging: exfat: fix multiple definition error of `rename_file'
        staging/wlan-ng: add CRC32 dependency in Kconfig
        staging: hp100: Fix build error without ETHERNET
        staging: fbtft: Do not hardcode SPI CS polarity inversion
        staging: exfat: properly support discard in clr_alloc_bitmap()
        staging/octeon: Mark Ethernet driver as BROKEN
        iio: adc: max9611: Fix too short conversion time delay
        iio: ad7949: fix channels mixups
        iio: imu: st_lsm6dsx: do not power-off accel if events are enabled
        iio: imu: st_lsm6dsx: track hw FIFO buffering with fifo_mask
        iio: imu: st_lsm6dsx: fix decimation factor estimation
        iio: imu: inv_mpu6050: fix temperature reporting using bad unit
        iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting
    • Linus Torvalds's avatar
      Merge tag 'usb-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · a1b85b3b
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes for reported issues for 5.5-rc2
        There's the usual gadget and xhci fixes, as well as some other
        problems that syzbot has been finding during it's fuzzing runs. Full
        details are in the shortlog.
        All of these have been in linux-next with no reported issues"
      * tag 'usb-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
        usb: dwc3: pci: add ID for the Intel Comet Lake -H variant
        xhci: make sure interrupts are restored to correct state
        xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour.
        xhci: Increase STS_HALT timeout in xhci_suspend()
        usb: xhci: only set D3hot for pci device
        xhci: fix USB3 device initiated resume race with roothub autosuspend
        xhci: Fix memory leak in xhci_add_in_port()
        USB: Fix incorrect DMA allocations for local memory pool drivers
        usb: gadget: fix wrong endpoint desc
        usb: dwc3: ep0: Clear started flag on completion
        usb: dwc3: gadget: Clear started flag for non-IOC
        usb: dwc3: gadget: Fix logical condition
        USB: atm: ueagle-atm: add missing endpoint check
        USB: adutux: fix interface sanity check
        USB: idmouse: fix interface sanity checks
        USB: serial: io_edgeport: fix epic endpoint lookup
        usb: mon: Fix a deadlock in usbmon between mmap and read
        usb: common: usb-conn-gpio: Don't log an error on probe deferral
        usb: core: urb: fix URB structure initialization function
        usb: typec: fix use after free in typec_register_port()