In the case of sg_wait_open_event() which calls mutex_unlock on
sdp->open_rel_lock and later calls mutex_lock on the same
lock; this macro is needed to stop sparse complaining. In
other cases it is a reminder to the coder (a precondition).

Signed-off-by: Douglas Gilbert <dgilb...@interlog.com>
---
 drivers/scsi/sg.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index aa3512b2cb4f..fe79f5f354f2 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -379,6 +379,7 @@ sg_check_file_access(struct file *filp, const char *caller)
 
 static int
 sg_wait_open_event(struct sg_device *sdp, bool o_excl)
+               __must_hold(&sdp->open_rel_lock)
 {
        int res = 0;
 
@@ -1506,6 +1507,7 @@ sg_get_dur(struct sg_request *srp, const enum sg_rq_state 
*sr_stp,
 static void
 sg_fill_request_element(struct sg_fd *sfp, struct sg_request *srp,
                        struct sg_req_info *rip)
+               __must_hold(&sfp->rq_list_lock)
 {
        spin_lock(&srp->req_lck);
        rip->duration = sg_get_dur(srp, NULL, NULL);
@@ -1627,6 +1629,7 @@ sg_ctl_sg_io(struct file *filp, struct sg_device *sdp, 
struct sg_fd *sfp,
  */
 static int
 sg_set_reserved_sz(struct sg_fd *sfp, int want_rsv_sz)
+               __must_hold(&sfp->f_mutex)
 {
        bool use_new_srp = false;
        int res = 0;
@@ -3550,6 +3553,7 @@ sg_remove_sfp(struct kref *kref)
 
 static int
 sg_idr_max_id(int id, void *p, void *data)
+               __must_hold(&sg_index_lock)
 {
        int *k = data;
 
@@ -3858,6 +3862,7 @@ sg_proc_seq_show_devstrs(struct seq_file *s, void *v)
 /* Writes debug info for one sg_request in obp buffer */
 static int
 sg_proc_debug_sreq(struct sg_request *srp, int to, char *obp, int len)
+               __must_hold(&sfp->rq_list_lock)
 {
        bool is_v3v4, v4, is_dur;
        int n = 0;
@@ -3893,6 +3898,7 @@ sg_proc_debug_sreq(struct sg_request *srp, int to, char 
*obp, int len)
 /* Writes debug info for one sg fd (including its sg requests) in obp buffer */
 static int
 sg_proc_debug_fd(struct sg_fd *fp, char *obp, int len)
+               __must_hold(&sfp->rq_list_lock)
 {
        bool first_fl;
        int n = 0;
@@ -3942,6 +3948,7 @@ sg_proc_debug_fd(struct sg_fd *fp, char *obp, int len)
 /* Writes debug info for one sg device (including its sg fds) in obp buffer */
 static int
 sg_proc_debug_sdev(struct sg_device *sdp, char *obp, int len, int *fd_counterp)
+               __must_hold(&sdp->sfd_lock)
 {
        int n = 0;
        int my_count = 0;
-- 
2.22.0

Reply via email to