[PATCH 00/23][SRU][U/OEM-5.14] USB port lost function after unplugging usb drive
Koba Ko
koba.ko at canonical.com
Fri Jan 28 03:25:47 UTC 2022
BugLink: https://bugs.launchpad.net/bugs/1958850
[Impact]
Test the proposed 5.14 oem kernel, and get a failure symptom.
Unplug a usb drive from WD19TB docking and a BUG reported in kernel, then the other embedded usb port can't detect usb drive anymore after a while.
kernel: usb 5-2.3.3: USB disconnect, device number 5
kernel: BUG: kernel NULL pointer dereference, address: 0000000000000030
kernel: #PF: supervisor read access in kernel mode
kernel: #PF: error_code(0x0000) - not-present page
kernel: PGD 0 P4D 0
kernel: Oops: 0000 [#1] SMP NOPTI
[Fix]
After applied https://lore.kernel.org/all/20210816134624.GA24234@lst.de/#r, issue is gone.
the patches has beend landed since v5.15-rc1.
[Test Case]
1. plug usb driver on the machine.
2. unplug usb driver.
3. check the dmesg if the oops would be shown
[Where problems could occur]
Medium
Christoph Hellwig (20):
mm: hide laptop_mode_wb_timer entirely behind the BDI API
block: pass a gendisk to blk_queue_update_readahead
block: add a queue_has_disk helper
block: move the bdi from the request_queue to the gendisk
block: remove the bd_bdi in struct block_device
nvme: use blk_mq_alloc_disk
st: do not allocate a gendisk
sg: do not allocate a gendisk
block: cleanup the lockdep handling in *alloc_disk
block: remove alloc_disk and alloc_disk_node
block: remove the minors argument to __alloc_disk_node
block: pass a request_queue to __blk_alloc_disk
block: hold a request_queue reference for the lifetime of struct
gendisk
block: add an explicit ->disk backpointer to the request_queue
writeback: make the laptop_mode prototypes available unconditionally
sg: pass the device name to blk_trace_setup
block: factor out a blk_try_enter_queue helper
block: drain file system I/O on del_gendisk
block: keep q_usage_counter in atomic mode after del_gendisk
nvdimm/pmem: stop using q_usage_count as external pgmap refcount
Luis Chamberlain (1):
nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned
Matteo Croce (1):
block: add disk sequence number
Ming Lei (1):
block: drain queue after disk is removed from sysfs
block/bfq-iosched.c | 4 +-
block/blk-cgroup.c | 7 +-
block/blk-core.c | 131 +++++++++++++++++---------------
block/blk-mq.c | 17 +++--
block/blk-settings.c | 22 ++++--
block/blk-sysfs.c | 27 +++----
block/blk-wbt.c | 8 +-
block/blk.h | 2 +
block/disk-events.c | 3 +
block/genhd.c | 117 +++++++++++++++++++++-------
block/ioctl.c | 7 +-
drivers/block/drbd/drbd_nl.c | 2 +-
drivers/block/drbd/drbd_req.c | 5 +-
drivers/block/pktcdvd.c | 8 +-
drivers/md/dm-table.c | 2 +-
drivers/nvdimm/pmem.c | 46 +++--------
drivers/nvme/host/core.c | 35 ++++-----
drivers/s390/block/dasd_genhd.c | 7 +-
drivers/scsi/sd.c | 6 +-
drivers/scsi/sg.c | 32 +++-----
drivers/scsi/sr.c | 7 +-
drivers/scsi/st.c | 49 +++---------
drivers/scsi/st.h | 2 +-
fs/block_dev.c | 13 +---
fs/fat/fatent.c | 1 +
fs/nilfs2/super.c | 2 +-
fs/super.c | 2 +-
fs/xfs/xfs_buf.c | 2 +-
include/linux/backing-dev.h | 2 +-
include/linux/blk-mq.h | 10 +--
include/linux/blk_types.h | 1 -
include/linux/blkdev.h | 9 +--
include/linux/genhd.h | 34 ++-------
include/linux/writeback.h | 5 --
include/trace/events/kyber.h | 6 +-
mm/backing-dev.c | 3 +
mm/page-writeback.c | 2 -
37 files changed, 307 insertions(+), 331 deletions(-)
--
2.25.1
More information about the kernel-team
mailing list