summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-16vmbus: remove hv_event_tasklet_disable/enableDexuan Cui
With the recent introduction of per-channel tasklet, we need to update the way we handle the 3 concurrency issues: 1. hv_process_channel_removal -> percpu_channel_deq vs. vmbus_chan_sched -> list_for_each_entry(..., percpu_list); 2. vmbus_process_offer -> percpu_channel_enq/deq vs. vmbus_chan_sched. 3. vmbus_close_internal vs. the per-channel tasklet vmbus_on_event; The first 2 issues can be handled by Stephen's recent patch "vmbus: use rcu for per-cpu channel list", and the third issue can be handled by calling tasklet_disable in vmbus_close_internal here. We don't need the original hv_event_tasklet_disable/enable since we now use per-channel tasklet instead of the previous per-CPU tasklet, and actually we must remove them due to the side effect now: vmbus_process_offer -> hv_event_tasklet_enable -> tasklet_schedule will start the per-channel callback prematurely, cauing NULL dereferencing (the channel may haven't been properly configured to run the callback yet). Fixes: 631e63a9f346 ("vmbus: change to per channel tasklet") Signed-off-by: Dexuan Cui <decui@microsoft.com> Cc: "K. Y. Srinivasan" <kys@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Cc: Stephen Hemminger <sthemmin@microsoft.com> Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16vmbus: use rcu for per-cpu channel listStephen Hemminger
The per-cpu channel list is now referred to in the interrupt routine. This is mostly safe since the host will not normally generate an interrupt when channel is being deleted but if it did then there would be a use after free problem. To solve, this use RCU protection on ther per-cpu list. Fixes: 631e63a9f346 ("vmbus: change to per channel tasklet") Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: gdm724x: fix checkpatch.pl camelCase warningAya Mahfouz
Fixes the checkpatch.pl warning: Avoid CamelCase Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: vt6655: Copy argument names from function definition to declaration ↵Tuomo Rinne
to fix checkpatch warnings Copied function argument names from definition to delcaration. This fixes some checkpatch warnings. Signed-off-by: Tuomo Rinne <tuomo.rinne@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: sm750fb: Removes unused variable from sm750_hw_copyareaTahia Khan
Removes unused variable opSign from sm750_hw_copyarea. Identified using coccinelle script 'unused.cocci'. Signed-off-by: Tahia Khan <tahia.khan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: wilc1000: Remove unnecessary bracketsTamara Diaconita
Remove unnecessary brackets and correspondingly unindent code. Signed-off-by: Tamara Diaconita <diaconita.tamara@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: wilc1000: Correct name of variablesTamara Diaconita
Correct misspelled variables: 'happended' to 'happened' to make the code grammatically correct. Signed-off-by: Tamara Diaconita <diaconita.tamara@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: wilc1000: Declare variables to top of functionTamara Diaconita
Move declaration of variables to top of function to make the code more readable. Signed-off-by: Tamara Diaconita <diaconita.tamara@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: dgnc: preserve return codeTobin C. Harding
Return code from tty_check_change() should be being preserved. Preserve return code from call to tty_check_change(). Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: fix checkpatch PARENTHESIS_ALIGNMENTTobin C. Harding
Checkpatch emits WARNING and CHECK for prototype declarations. WARNING: function definition argument 'void *' should also have an identifier name CHECK: Alignment should match open parenthesis Also prototype parameters wrap more than is necessary. Tidy up function prototypes. Fix 5 error/warning instances. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: fix checkpatch BLOCK_COMMENT_STYLETobin C. Harding
Checkpatch emits WARNING: Block comments use a trailing */ on a separate line. Move comments to (kernel doc format) struct comment. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: fix checkpatch SPACINGTobin C. Harding
Checkpatch emits WARNING: Unnecessary space before function pointer arguments. Remove unnecessary space before function pointer. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: remove dead codeTobin C. Harding
Driver has dead code compiled out using preprocessor directives. TODO file asks for these not to be removed - ignore this. Remove dead code. Remove 'do not remove #if 0/1 ...' from TODO file. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: remove superfluous commentsTobin C. Harding
Driver uses custom function comment format. These comments are on functions with internal likage. Comment string /*--------/* adds nothing to the driver. Comment 'Wireless Handler' does not have allot of meaning. Remove superfluous function comments. Leave comments that add meaning. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: remove custom return valuesTobin C. Harding
Driver code uses custom return values (often positive) to signal error condition instead of using standard kernel error codes. Replace custom return values with standard kernel error codes. Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: ks7010: fix off by one errorTobin C. Harding
Bug introduced in commit 7676b72 by Tobin C. Harding. Remove equals sign from comparison, fixing off by one error. Fixes: 7676b72428e8 ("staging: ks7010: move comparison to right hand side") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomicsp: fix a loop timeoutDan Carpenter
It's a post-op loop so we timeout with "max_wait" set to -1, not 0. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: rtl8192u: Remove multiple assignmentsGargi Sharma
This patch removes multiple assignments by factorizing them. This was done with Coccinelle for the if branch. For the else part the change was done manually since Coccinelle only detects constants. Braces were also added to the else part to remove the checkpatch warning, "braces should be on all arms of if-else statements". @@ identifier i1,i2; constant c; @@ - i1=i2=c; + i1=c; + i2=c; Signed-off-by: Gargi Sharma <gs051095@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: rtl8188eu: removed blank lines coding style problemAndrii Vladyka
Fix 'multiple blank lines' coding style problem reported by checkpatch.pl. Signed-off-by: Andrii Vladyka <tulup@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: rtl8188eu: fix some inverted conditionsDan Carpenter
We converted these conditions from == NULL and != NULL but messed up and inverted some. Fixes: e31447f934d3 ("staging: rtl8188eu: Replace x==NULL by !x") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: vc04_services: Replace typedef with structGargi Sharma
Using typedef for a structure type and upper case struct names is not suggested in Linux kernel coding style guidelines. Hence, occurences of typedefs have been removed and struct names converted to lowercase in the file. Grep was also used to ensure that all occurence of the typedefs have been removed. The module compiles without any warnings or errors. Script 1: @r1@ type T; @@ typedef struct { ... } T; @script:python c1@ T2; T << r1.T; @@ if T[-2:] =="_T": coccinelle.T2 = T[:-2].lower(); print T else: coccinelle.T2=T.lower(); @r2@ type r1.T; identifier c1.T2; @@ -typedef struct + T2 { ... } -T ; @r3@ type r1.T; identifier c1.T2; @@ - T + struct T2 Script 2: @@ typedef VCHIQ_ELEMENT_T; @@ ( - VCHIQ_ELEMENT_T + struct vchiq_element ) Signed-off-by: Gargi Sharma <gs051095@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: vc04_services: Remove type and function prototypeGargi Sharma
The function prototype is for a function that is not even in the kernel, and hence has been removed. The type VCHIQ_SHARED_MEM_INFO_T is not used anywhere in the kernel as well. Signed-off-by: Gargi Sharma <gs051095@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: vc04_services: Remove unused functionsJean-Baptiste Abbadie
These four functions are not used and report errors with sparse. Signed-off-by: Jean-Baptiste Abbadie <jb@abbadie.fr> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: remove duplicate includesJérémy Lefaure
These duplicate includes have been found with scripts/checkincludes.pl but they have been removed manually to avoid removing false positives. Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: fill properly hmm_bo_type_strings when ION is disabledJérémy Lefaure
When CONFIG_ION is disabled, HMM_BO_LAST is 3. In this case, "i" should not be added in hmm_bo_type_strings. Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: fix "alignment should match open parenthesis"Daeseok Youn
Fix checkpatch.pl issues in atomisp_cmd.c : "CHECK: Alignment should match open parenthesis" Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: remove useless #ifdef ISP2401 on top of atomisp_cmd.cDaeseok Youn
There is no reason to have "#ifdef ISP2401" condition on top of atomisp_cmd.c file Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: fix inconsistent indentingDaeseok Youn
Fix warnings from the smatch tool atomisp_cmd.c:5698 atomisp_set_fmt_to_snr() warn: inconsistent indenting atomisp_cmd.c:5714 atomisp_set_fmt_to_snr() warn: inconsistent indenting Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: fix unsigned int comparison with less than zeroDaeseok Youn
Fix warnings from the smatch tool atomisp_cmd.c:2649 atomisp_set_array_res() warn: unsigned 'config->width' is never less than zero. atomisp_cmd.c:2650 atomisp_set_array_res() warn: unsigned 'config->height' is never less than zero. Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: Removes pointer comparison to 0 in ia_css_queue_get_sizeTahia Khan
Repaces pointer comparison to 0 with NULL in ia_css_queue_get_size to improve code readability. Identified with coccinelle script 'badzero.cocci'. Signed-off-by: Tahia Khan <tahia.khan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: Removes pointer comparison to 0 in ia_css_queue_dequeueTahia Khan
Repaces pointer comparison to 0 with NULL in ia_css_queue_dequeue to improve code readability. Identified with coccinelle script 'badzero.cocci'. Signed-off-by: Tahia Khan <tahia.khan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: Removes pointer comparison to 0 in ia_css_queue_enqueueTahia Khan
Repaces pointer comparison to 0 with NULL in ia_css_queue_enqueue to improve code readability. Identified with coccinelle script 'badzero.cocci'. Signed-off-by: Tahia Khan <tahia.khan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: fix build error in ov5693 driverTobias Regnery
The ov5693 driver unconditionally uses the entity member of struct v4l2_subdev. However this member is conditionally compiled in if CONFIG_MEDIA_CONTROLLER is set. This results in the following build error if CONFIG_MEDIA_CONTROLLER is not set: drivers/staging/media/atomisp/i2c/ov5693/ov5693.c: In function 'ov5693_remove': drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:1961:31: error: 'struct v4l2_subdev' has no member named 'entity' media_entity_cleanup(&dev->sd.entity); drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:2023:9: error: 'struct v4l2_subdev' has no member named 'entity' dev->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; ^ drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:2045:39: error: 'struct v4l2_subdev' has no member named 'entity' ret = media_entity_pads_init(&dev->sd.entity, 1, &dev->pad); Add the corresponding Kconfig dependency to solve this error. Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16Staging: atomisp: kfreeing a devm allocated pointerDan Carpenter
We shouldn't pass devm allocated pointers to kfree() or it leads to a double free. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: silence an array overflow warningDan Carpenter
Static checkers complain that we should check if "i" is in bounds before we check if "var8[i]" is a NUL char. This bug is harmless but also easy to fix. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging/atomisp: silence uninitialized variable warningsDan Carpenter
These print an uninitialized value for "opt". Let's just remove the printk. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: atomisp: off by one in atomisp_acc_load_extensions()Dan Carpenter
We should be doing i-- on all error paths but we don't if the loop finishes successfully. I've re-arranged this so that we don't read beyond the end of acc_flag_to_pipe[] array. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: fix semicolon.cocci warningsJulia Lawall
Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: dvb-frontends: removed code in comments.Arushi Singhal
Commenting out Code is a Bad Idea. Comments are their to explain the code and how the code achieves its goal and as codes in the comments does not explain what the code is doing so there is no use of commenting them. So in this patch codes in the comments are removed. Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: speakup: identation should use tabsArushi Singhal
Indentation should always use tabs and never spaces. Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: speakup: Add blank line after declarationsArushi Singhal
Patch fixes the warnings reported by checkpatch.pl for please use a blank line after function/struct/union/enum declarations. Add a blank line after enum and struct declarations. Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16speakup: Fix bogus caps on speaking unicode charactersSamuel Thibault
commit 33590c185299 ("speakup: Support spelling unicode characters") mistakenly passed unicode characters to IS_CHAR(), which only supports latin1. Let's assume non-latin1 is lower case, like is done in spell_word(). Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Chris Brannon <chris@the-brannons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: speakup: move spk_stop_serial_interrupt into synth-specific release ↵Okash Khawaja
function This moves call to spk_stop_serial_interrupt() function out of synth_release() and into release() method of specific spk_synth instances. This is because the spk_stop_serial_interrupt() call is specific to current serial i/o implementation. Moving it into each synth's release() method gives the decision of calling spk_stop_serial_interrupt() to that synth. Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: speakup: add spk_io_ops struct to spk_synthOkash Khawaja
This patch adds spk_io_ops struct which contain those methods whose job is to communicate with synth device. Currently, all comms with external synth device use raw serial i/o. The idea is to group all methods which do the actual communication with external device into this new struct. Then migrating a serial-based synth over to an alternative to raw serial i/o will mean swapping serial spk_io_ops instance with the io_ops instance of the new method, making the migration simpler. At the moment, this struct only contains one method, synth_out but more will be added in future when migrating synths which require input functionality. Also at the moment, synth_out method has one implementation which uses serial i/o. Plan is to add an alternative. Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: speakup: spk_serial_out and spk_wait_for_xmitr to take synth argOkash Khawaja
These two functions are always called from a context where spk_synth instance is available. They also use the spk_synth instance but instead of taking it as an argument, they rely on a global spk_synth instance inside synth.c which points to the same synth as the one being passed in as argument. Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16mei: don't wait for os version message replyAlexander Usyskin
The driver still struggles with firmwares that do not replay to the OS version request. It is safe not waiting for the replay. First, the driver doesn't do anything with the replay second the connection is closed immediately, hence the packet will be just safely discarded in case it is received and last the driver won't get stuck if the firmware won't reply. Cc: <stable@vger.kernel.org> #4.10+ Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16mei: fix deadlock on mei resetTomas Winkler
This patch fixes 'mei: synchronize irq before initiating a reset' The patch had introduced a deadlock between irq thread and mei_reset() as they are both holding the same device lock. ---> device_lock: mei_reset() <---- interrupt thread device_lock ---> synchornize_irq() wait on interrupt thread == (dead lock) The fix is to call synchronize_irq prior to call locked mei_reset function. Cc: <stable@vger.kernel.org> #4.10+ Fixes: f302bb0de6ac (mei: synchronize irq before initiating a reset) Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16Merge tag 'stm-fixes-for-greg-20170315' of ↵Greg Kroah-Hartman
git://git.kernel.org/pub/scm/linux/kernel/git/ash/stm into char-misc-linus Alexander writes: intel_th: Fixes for 4.11 These are: * fix for a module refcount leak * two new PCI IDs
2017-03-16Merge branch 'drm-fixes-4.11' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie
into drm-fixes A few amd fixes. * 'drm-fixes-4.11' of git://people.freedesktop.org/~agd5f/linux: drm/amd/amdgpu: Fix debugfs reg read/write address width drm/amdgpu/si: add dpm quirk for Oland drm/radeon/si: add dpm quirk for Oland drm: amd: remove broken include path drm/amd/powerplay: fix copy error in smu7_clockpoweragting.c drm/amdgpu: fix parser init error path to avoid crash in parser fini drm/amd/amdgpu: Disable GFX_PG on Carrizo until compute issues solved
2017-03-15Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds
Pull block fixes from Jens Axboe: "Four small fixes for this cycle: - followup fix from Neil for a fix that went in before -rc2, ensuring that we always see the full per-task bio_list. - fix for blk-mq-sched from me that ensures that we retain similar direct-to-issue behavior on running the queue. - fix from Sagi fixing a potential NULL pointer dereference in blk-mq on spurious CPU unplug. - a memory leak fix in writeback from Tahsin, fixing a case where device removal of a mounted device can leak a struct wb_writeback_work" * 'for-linus' of git://git.kernel.dk/linux-block: blk-mq-sched: don't run the queue async from blk_mq_try_issue_directly() writeback: fix memory leak in wb_queue_work() blk-mq: Fix tagset reinit in the presence of cpu hot-unplug blk: Ensure users for current->bio_list can see the full list.