mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
target: Make TFO->check_stop_free return free status
This patch converts target_core_fabric_ops->check_stop_free() usage in transport_cmd_check_stop() and associated fabric module usage to return '1' when the passed se_cmd has been released directly within ->check_stop_free(), or return '0' when the passed se_cmd has not been released. This addresses an issue where transport_cmd_finish_abort() -> transport_cmd_check_stop_to_fabric() was leaking descriptors during LUN_RESET for modules using ->check_stop_free(), but not directly releasing se_cmd in all cases. Cc: [email protected] Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
parent
5a4c8666c6
commit
88dd9e26d6
5 changed files with 16 additions and 8 deletions
|
|
@ -46,9 +46,12 @@ struct target_core_fabric_ops {
|
|||
int (*new_cmd_map)(struct se_cmd *);
|
||||
/*
|
||||
* Optional to release struct se_cmd and fabric dependent allocated
|
||||
* I/O descriptor in transport_cmd_check_stop()
|
||||
* I/O descriptor in transport_cmd_check_stop().
|
||||
*
|
||||
* Returning 1 will signal a descriptor has been released.
|
||||
* Returning 0 will signal a descriptor has not been released.
|
||||
*/
|
||||
void (*check_stop_free)(struct se_cmd *);
|
||||
int (*check_stop_free)(struct se_cmd *);
|
||||
void (*release_cmd)(struct se_cmd *);
|
||||
/*
|
||||
* Called with spin_lock_bh(struct se_portal_group->session_lock held.
|
||||
|
|
|
|||
Loading…
Reference in a new issue