{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":162223741,"defaultBranch":"master","name":"linux","ownerLogin":"bvanassche","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2018-12-18T03:19:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/520901?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726692812.0","currentOid":""},"activityList":{"items":[{"before":"d047be67eb2d8e2af29632692f94acddee016c5c","after":"997db12fde06cb55606095f2338a6d155cc4e883","ref":"refs/heads/nr_irqs","pushedAt":"2024-09-20T21:28:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"genirq: Unexport nr_irqs\n\nUnexport nr_irqs and declare it static now that all code that reads or\nmodifies nr_irqs has been converted to number_of_interrupts() /\nset_number_of_interrupts().\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"genirq: Unexport nr_irqs"}},{"before":"2463964f89ae7c6a4cf3c14ebec39e2341c15f65","after":"d047be67eb2d8e2af29632692f94acddee016c5c","ref":"refs/heads/nr_irqs","pushedAt":"2024-09-20T20:57:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"genirq: Unexport 'nr_irqs'\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"genirq: Unexport 'nr_irqs'"}},{"before":"319971397427327d8ea6e80d3bbe8a669655450d","after":"2463964f89ae7c6a4cf3c14ebec39e2341c15f65","ref":"refs/heads/nr_irqs","pushedAt":"2024-09-20T13:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"f","shortMessageHtmlLink":"f"}},{"before":"d7681eaecc57e0c36c280aeed9fb3fc2af547fb2","after":null,"ref":"refs/heads/struct-device","pushedAt":"2024-09-18T20:53:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"7b8040cb68b63b54ab69506a8060ccc9e2d9b4ab","after":null,"ref":"refs/heads/nvme-for-next","pushedAt":"2024-09-18T20:53:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"666c0ea983c9967021967c302d90e8590d142c6f","after":null,"ref":"refs/heads/block-fair-tag-sharing","pushedAt":"2024-09-18T20:53:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"6b1e9e8eb1792ab418cf0b9fee848bdce79ff136","after":null,"ref":"refs/heads/scsi-remove-slave-configure","pushedAt":"2024-09-18T20:53:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"b5344b73932087040f28f165795a4cad8f134eeb","after":null,"ref":"refs/heads/scsi-sd","pushedAt":"2024-09-18T20:52:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"4e4de270b79a2ea84f388b5c9a0e061029eb8df4","after":null,"ref":"refs/heads/scsi-for-next","pushedAt":"2024-09-18T20:49:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"33079467a5b6f89725e123ea0521d78a8941b2c0","after":null,"ref":"refs/heads/scsi-create-workqueue","pushedAt":"2024-09-18T20:49:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"317b2f3ee933b4e95f82811e0a001ca5c7bde5e7","after":null,"ref":"refs/heads/usb","pushedAt":"2024-09-18T20:49:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"bc7a56f4b134f77118c0c604d836d18a4659e980","after":null,"ref":"refs/heads/ufs-for-next","pushedAt":"2024-09-18T20:49:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"2f580dcf5533ca1ed32fdb81f0d939fa602859e6","after":null,"ref":"refs/heads/ufs-add-host","pushedAt":"2024-09-18T20:49:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":null,"after":"319971397427327d8ea6e80d3bbe8a669655450d","ref":"refs/heads/nr_irqs","pushedAt":"2024-09-18T20:48:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"genirq: Unexport 'nr_irqs'\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"genirq: Unexport 'nr_irqs'"}},{"before":"fe1d1701ee563aeac375b3d2a2f95cde7a5ab904","after":"317b2f3ee933b4e95f82811e0a001ca5c7bde5e7","ref":"refs/heads/usb","pushedAt":"2024-09-09T20:53:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"usb: roles: Improve the fix for a false positive recursive locking complaint\n\nImprove commit fc88bb116179 (\"usb: roles: add lockdep class key to struct\nusb_role_switch\") as follows:\n* Move the lock class key declaration just above the mutex declaration to\n match the initialization order of these objects.\n* Destroy the mutex and lock class key just before these objects are\n freed. This makes it easier to analyze that the destruction calls happen\n after the last use of these objects.\n* Instead of switching the mutex key to the dynamic lock class key after\n initialization of the mutex has completed, initialize the mutex with the\n dynamic lock class key.\n\nCc: Hans de Goede \nCc: Andy Shevchenko \nCc: Heikki Krogerus \nCc: Greg Kroah-Hartman \nCc: Badhri Jagan Sridharan \nCc: stable@vger.kernel.org\nFixes: fde0aa6c175a (\"usb: common: Small class for USB role switches\")\nSigned-off-by: Amit Sunil Dhamne \nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"usb: roles: Improve the fix for a false positive recursive locking co…"}},{"before":"48516cc8ed3d273de3547b3a852e61e6664354a0","after":"bc7a56f4b134f77118c0c604d836d18a4659e980","ref":"refs/heads/ufs-for-next","pushedAt":"2024-09-05T21:58:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: ufs: Fix a race condition\n\nActivate UFSHCI sysfs attributes before the KOBJ_ADD uevent is\nemitted instead of after emitting that event.\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: ufs: Fix a race condition"}},{"before":null,"after":"fe1d1701ee563aeac375b3d2a2f95cde7a5ab904","ref":"refs/heads/usb","pushedAt":"2024-09-05T20:26:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"usb: roles: Fix a false positive recursive locking complaint\n\nSuppress the following lockdep complaint by giving each sw->lock\na unique lockdep key instead of using the same lockdep key for all\nsw->lock instances:\n\nINFO: trying to register non-static key.\nThe code is fine but needs lockdep annotation, or maybe\nyou didn't initialize this object before use?\nturning off the locking correctness validator.\n\nCc: Hans de Goede \nCc: Andy Shevchenko \nCc: Heikki Krogerus \nCc: Greg Kroah-Hartman \nCc: Badhri Jagan Sridharan \nCc: stable@vger.kernel.org\nFixes: fde0aa6c175a (\"usb: common: Small class for USB role switches\")\nSigned-off-by: Amit Sunil Dhamne \nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"usb: roles: Fix a false positive recursive locking complaint"}},{"before":null,"after":"2f580dcf5533ca1ed32fdb81f0d939fa602859e6","ref":"refs/heads/ufs-add-host","pushedAt":"2024-08-22T17:46:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"ufs: core: Remove the second argument of ufshcd_device_init()\n\nBoth ufshcd_device_init() callers pass 'false' as second argument. Hence,\nremove that second argument.\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"ufs: core: Remove the second argument of ufshcd_device_init()"}},{"before":"05b6223fe5a2fb6e13a3650a0029b8a2f6be674d","after":"b5344b73932087040f28f165795a4cad8f134eeb","ref":"refs/heads/scsi-sd","pushedAt":"2024-07-30T21:02:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: sd: Do not split error messages\n\nMake it easier to find these error messages with grep. This patch has been\ncreated as follows:\n* Delete all occurrences of the following regular expression:\n \"[[:blank:]]*\\\\*\\n[[:blank:]]*\"\n* Split long lines manually where necessary.\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: sd: Do not split error messages"}},{"before":"e992c326a36a35afe13a4c16094e2a76a90ed5eb","after":null,"ref":"refs/heads/block-for-next","pushedAt":"2024-07-24T13:53:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"}},{"before":"f96779ca27c475987a82af3f0940e85e73c97921","after":"05b6223fe5a2fb6e13a3650a0029b8a2f6be674d","ref":"refs/heads/scsi-sd","pushedAt":"2024-07-17T19:58:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: sd: Do not split error messages\n\nMake it easier to find these error messages with grep. This patch has been\ncreated as follows:\n* Delete all occurrences of the following regular expression:\n \"[[:blank:]]*\\\\*\\n[[:blank:]]*\"\n* Split long lines manually where necessary.\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: sd: Do not split error messages"}},{"before":null,"after":"f96779ca27c475987a82af3f0940e85e73c97921","ref":"refs/heads/scsi-sd","pushedAt":"2024-07-17T17:47:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: sd: Move the sd_fops definition\n\nMove the sd_fops definition such that the sd_unlock_native_capacity() forward\ndeclaration can be removed.\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: sd: Move the sd_fops definition"}},{"before":"784cc2c36b40d8a3b25ad01ab7cc2c90082c8f95","after":"6b1e9e8eb1792ab418cf0b9fee848bdce79ff136","ref":"refs/heads/scsi-remove-slave-configure","pushedAt":"2024-07-15T20:57:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: mptfusion: Remove #ifndef __GENKSYMS__ / #endif\n\nExcept for preventing build errors, there shouldn't be any conditionals in\nkernel drivers on __GENKSYMS__. Hence remove an #ifndef __GENKSYMS__ / #endif\npair from the MPT Fusion driver.\n\nCc: Sathya Prakash \nCc: Sreekanth Reddy \nCc: Suganath Prabu Subramani \nCc: MPT-FusionLinux.pdl@broadcom.com\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: mptfusion: Remove #ifndef __GENKSYMS__ / #endif"}},{"before":"3cf2ba5bb279edd16bd1606f4feb0a3bd87a5700","after":"784cc2c36b40d8a3b25ad01ab7cc2c90082c8f95","ref":"refs/heads/scsi-remove-slave-configure","pushedAt":"2024-07-13T21:48:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: core: Remove .slave_configure()\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: core: Remove .slave_configure()"}},{"before":null,"after":"3cf2ba5bb279edd16bd1606f4feb0a3bd87a5700","ref":"refs/heads/scsi-remove-slave-configure","pushedAt":"2024-07-12T22:17:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: core: Remove .slave_configure()\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: core: Remove .slave_configure()"}},{"before":null,"after":"7b8040cb68b63b54ab69506a8060ccc9e2d9b4ab","ref":"refs/heads/nvme-for-next","pushedAt":"2024-07-11T19:48:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"nvme-pci: Fix the instructions for disabling power management\n\npcie_aspm=off tells the kernel not to modify the ASPM configuration. This\nsetting does not guarantee that ASPM (Active State Power Management) is\ndisabled. Hence add pcie_port_pm=off. This disables power management for\nall PCIe ports.\n\nThis patch has been tested on a workstation with a Samsung SSD 970 EVO Plus\nNVMe SSD.\n\nFixes: 4641a8e6e145 (\"nvme-pci: add trouble shooting steps for timeouts\")\nCc: Keith Busch \nCc: Christoph Hellwig \nCc: Chaitanya Kulkarni \nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"nvme-pci: Fix the instructions for disabling power management"}},{"before":"39b70c15b5866815ea50bdffad34a770c456592d","after":"e992c326a36a35afe13a4c16094e2a76a90ed5eb","ref":"refs/heads/block-for-next","pushedAt":"2024-07-11T16:19:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"sbitmap: fix io hung due to race on sbitmap_word::cleared\n\nConfiguration for sbq:\n depth=64, wake_batch=6, shift=6, map_nr=1\n\n1. There are 64 requests in progress:\n map->word = 0xFFFFFFFFFFFFFFFF\n2. After all the 64 requests complete, and no more requests come:\n map->word = 0xFFFFFFFFFFFFFFFF, map->cleared = 0xFFFFFFFFFFFFFFFF\n3. Now two tasks try to allocate requests:\n T1: T2:\n __blk_mq_get_tag .\n __sbitmap_queue_get .\n sbitmap_get .\n sbitmap_find_bit .\n sbitmap_find_bit_in_word .\n __sbitmap_get_word -> nr=-1 __blk_mq_get_tag\n sbitmap_deferred_clear __sbitmap_queue_get\n /* map->cleared=0xFFFFFFFFFFFFFFFF */ sbitmap_find_bit\n if (!READ_ONCE(map->cleared)) sbitmap_find_bit_in_word\n return false; __sbitmap_get_word -> nr=-1\n mask = xchg(&map->cleared, 0) sbitmap_deferred_clear\n atomic_long_andnot() /* map->cleared=0 */\n if (!(map->cleared))\n return false;\n /*\n * map->cleared is cleared by T1\n * T2 fail to acquire the tag\n */\n\n4. T2 is the sole tag waiter. When T1 puts the tag, T2 cannot be woken\nup due to the wake_batch being set at 6. If no more requests come, T1\nwill wait here indefinitely.\n\nThis patch achieves two purposes:\n1. Check on ->cleared and update on both ->cleared and ->word need to\nbe done atomically, and using spinlock could be the simplest solution.\n2. Add extra check in sbitmap_deferred_clear(), to identify whether\n->word has free bits.\n\nFixes: ea86ea2cdced (\"sbitmap: ammortize cost of clearing bits\")\nSigned-off-by: Yang Yang \n[ bvanassche: reworked this patch ]","shortMessageHtmlLink":"sbitmap: fix io hung due to race on sbitmap_word::cleared"}},{"before":null,"after":"39b70c15b5866815ea50bdffad34a770c456592d","ref":"refs/heads/block-for-next","pushedAt":"2024-07-11T00:09:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"sbitmap: fix io hung due to race on sbitmap_word::cleared\n\nConfiguration for sbq:\n depth=64, wake_batch=6, shift=6, map_nr=1\n\n1. There are 64 requests in progress:\n map->word = 0xFFFFFFFFFFFFFFFF\n2. After all the 64 requests complete, and no more requests come:\n map->word = 0xFFFFFFFFFFFFFFFF, map->cleared = 0xFFFFFFFFFFFFFFFF\n3. Now two tasks try to allocate requests:\n T1: T2:\n __blk_mq_get_tag .\n __sbitmap_queue_get .\n sbitmap_get .\n sbitmap_find_bit .\n sbitmap_find_bit_in_word .\n __sbitmap_get_word -> nr=-1 __blk_mq_get_tag\n sbitmap_deferred_clear __sbitmap_queue_get\n /* map->cleared=0xFFFFFFFFFFFFFFFF */ sbitmap_find_bit\n if (!READ_ONCE(map->cleared)) sbitmap_find_bit_in_word\n return false; __sbitmap_get_word -> nr=-1\n mask = xchg(&map->cleared, 0) sbitmap_deferred_clear\n atomic_long_andnot() /* map->cleared=0 */\n if (!(map->cleared))\n return false;\n /*\n * map->cleared is cleared by T1\n * T2 fail to acquire the tag\n */\n\n4. T2 is the sole tag waiter. When T1 puts the tag, T2 cannot be woken\nup due to the wake_batch being set at 6. If no more requests come, T1\nwill wait here indefinitely.\n\nThis patch achieves two purposes:\n1. Check on ->cleared and update on both ->cleared and ->word need to\nbe done atomically, and using spinlock could be the simplest solution.\n2. Add extra check in sbitmap_deferred_clear(), to identify whether\n->word has free bits.\n\nFixes: ea86ea2cdced (\"sbitmap: ammortize cost of clearing bits\")\nSigned-off-by: Yang Yang \n[ bvanassche: reworked this patch ]","shortMessageHtmlLink":"sbitmap: fix io hung due to race on sbitmap_word::cleared"}},{"before":"e7ec7cee4a6dfae433d4b285b774abb0bb3fde55","after":"48516cc8ed3d273de3547b3a852e61e6664354a0","ref":"refs/heads/ufs-for-next","pushedAt":"2024-07-08T23:45:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: ufs: Check for completion from the timeout handler\n\nIf ufshcd_abort() returns SUCCESS for an already completed command then\nthat command is completed twice. This results in a crash. Prevent this by\nchecking whether a command has completed without completion interrupt from\nthe timeout handler. This CL fixes the following kernel crash:\n\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000000\nCall trace:\n dma_direct_map_sg+0x70/0x274\n scsi_dma_map+0x84/0x124\n ufshcd_queuecommand+0x3fc/0x880\n scsi_queue_rq+0x7d0/0x111c\n blk_mq_dispatch_rq_list+0x440/0xebc\n blk_mq_do_dispatch_sched+0x5a4/0x6b8\n __blk_mq_sched_dispatch_requests+0x150/0x220\n __blk_mq_run_hw_queue+0xf0/0x218\n __blk_mq_delay_run_hw_queue+0x8c/0x18c\n blk_mq_run_hw_queue+0x1a4/0x360\n blk_mq_sched_insert_requests+0x130/0x334\n blk_mq_flush_plug_list+0x138/0x234\n blk_flush_plug_list+0x118/0x164\n blk_finish_plug()\n read_pages+0x38c/0x408\n page_cache_ra_unbounded+0x230/0x2f8\n do_sync_mmap_readahead+0x1a4/0x208\n filemap_fault+0x27c/0x8f4\n f2fs_filemap_fault+0x28/0xfc\n __do_fault+0xc4/0x208\n handle_pte_fault+0x290/0xe04\n do_handle_mm_fault+0x52c/0x858\n do_page_fault+0x5dc/0x798\n do_translation_fault+0x40/0x54\n do_mem_abort+0x60/0x134\n el0_da+0x40/0xb8\n el0t_64_sync_handler+0xc4/0xe4\n el0t_64_sync+0x1b4/0x1b8\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: ufs: Check for completion from the timeout handler"}},{"before":"af7795f671d9d49b9178c6112e63793c0d456861","after":"e7ec7cee4a6dfae433d4b285b774abb0bb3fde55","ref":"refs/heads/ufs-for-next","pushedAt":"2024-07-06T13:30:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bvanassche","name":"Bart Van Assche","path":"/bvanassche","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520901?s=80&v=4"},"commit":{"message":"scsi: ufs: Check for completion from the timeout handler\n\nIf ufshcd_abort() returns SUCCESS for an already completed command then\nthat command is completed twice. This results in a crash. Prevent this by\nchecking whether a command has completed without completion interrupt from\nthe timeout handler. This CL fixes the following kernel crash:\n\nUnable to handle kernel NULL pointer dereference at virtual address 0000000000000000\nCall trace:\n dma_direct_map_sg+0x70/0x274\n scsi_dma_map+0x84/0x124\n ufshcd_queuecommand+0x3fc/0x880\n scsi_queue_rq+0x7d0/0x111c\n blk_mq_dispatch_rq_list+0x440/0xebc\n blk_mq_do_dispatch_sched+0x5a4/0x6b8\n __blk_mq_sched_dispatch_requests+0x150/0x220\n __blk_mq_run_hw_queue+0xf0/0x218\n __blk_mq_delay_run_hw_queue+0x8c/0x18c\n blk_mq_run_hw_queue+0x1a4/0x360\n blk_mq_sched_insert_requests+0x130/0x334\n blk_mq_flush_plug_list+0x138/0x234\n blk_flush_plug_list+0x118/0x164\n blk_finish_plug()\n read_pages+0x38c/0x408\n page_cache_ra_unbounded+0x230/0x2f8\n do_sync_mmap_readahead+0x1a4/0x208\n filemap_fault+0x27c/0x8f4\n f2fs_filemap_fault+0x28/0xfc\n __do_fault+0xc4/0x208\n handle_pte_fault+0x290/0xe04\n do_handle_mm_fault+0x52c/0x858\n do_page_fault+0x5dc/0x798\n do_translation_fault+0x40/0x54\n do_mem_abort+0x60/0x134\n el0_da+0x40/0xb8\n el0t_64_sync_handler+0xc4/0xe4\n el0t_64_sync+0x1b4/0x1b8\n\nSigned-off-by: Bart Van Assche ","shortMessageHtmlLink":"scsi: ufs: Check for completion from the timeout handler"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMToyODo0Ni4wMDAwMDBazwAAAAS8YjLH","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMToyODo0Ni4wMDAwMDBazwAAAAS8YjLH","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wNlQxMzozMDowNy4wMDAwMDBazwAAAAR4btaV"}},"title":"Activity · bvanassche/linux"}