* [PATCH] sg: syncing at patch 26 versus staging
@ 2021-02-20 2:16 Douglas Gilbert
0 siblings, 0 replies; only message in thread
From: Douglas Gilbert @ 2021-02-20 2:16 UTC (permalink / raw)
To: linux-scsi; +Cc: martin.petersen, jejb, hare
The 5.12/scsi-staging branch current has patches 1 through 26 out
of 45 presented, applied around version 13 (currently at version
15 about to be 16). Due to bug fixes in the author's patchset,
there is a divergence in the drivers/scsi/sg.c source file. This
patch brings them back into sync.
Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
---
This patch is designed to be applied to the 5.12/scsi-staging
branch or the branch containing patches 1 through 26 taken
from patchset v13.
drivers/scsi/sg.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index c5a34bb91335..1a89f617869c 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -312,7 +312,7 @@ static const char *sg_rq_st_str(enum sg_rq_state rq_st, bool long_str);
pr_info("sg: sdp or sfp NULL, " fmt, ##a); \
} while (0)
#else
-#define SG_LOG(depth, sfp, fmt, a...) { }
+#define SG_LOG(depth, sfp, fmt, a...) do { } while (0)
#endif /* end of CONFIG_SCSI_LOGGING && SG_DEBUG conditional */
@@ -522,11 +522,9 @@ sg_release(struct inode *inode, struct file *filp)
kref_put(&sfp->f_ref, sg_remove_sfp);
/*
- * Possibly many open()s waiting on exlude clearing, start many;
+ * Possibly many open()s waiting on exclude clearing, start many;
* only open(O_EXCL)'s wait when open_cnt<2 and only start one.
*/
- /* possibly many open()s waiting on exlude clearing, start many;
- * only open(O_EXCL)s wait on 0==open_cnt so only start one */
if (test_and_clear_bit(SG_FDEV_EXCLUDE, sdp->fdev_bm))
wake_up_interruptible_all(&sdp->open_wait);
else if (o_count < 2)
@@ -1584,7 +1582,7 @@ sg_ctl_req_tbl(struct sg_fd *sfp, void __user *p)
SZ_SG_REQ_INFO * SG_MAX_QUEUE);
#endif
kfree(rinfop);
- return result;
+ return result > 0 ? -EFAULT : result; /* treat short copy as error */
}
static int
@@ -2711,9 +2709,9 @@ sg_finish_scsi_blk_rq(struct sg_request *srp)
static int
sg_mk_sgat(struct sg_request *srp, struct sg_fd *sfp, int minlen)
{
- int j, k, rem_sz, align_sz;
+ int j, k, rem_sz, align_sz, order, o_order;
int mx_sgat_elems = sfp->parentdp->max_sgat_elems;
- unsigned int elem_sz, order, o_order;
+ unsigned int elem_sz;
const size_t ptr_sz = sizeof(struct page *);
gfp_t mask_ap = GFP_ATOMIC | __GFP_COMP | __GFP_NOWARN | __GFP_ZERO;
gfp_t mask_kz = GFP_ATOMIC | __GFP_NOWARN;
--
2.25.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-20 2:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-20 2:16 [PATCH] sg: syncing at patch 26 versus staging Douglas Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox