Commit 626dcb1e authored by Kai Makisara's avatar Kai Makisara Committed by James Bottomley

[SCSI] st: Move buffer pointer back when data could not be written.

Move buffer pointer back when data could not be written. Bug found by
Mike Christie.
Signed-off-by: default avatarKai Mäkisara <Kai.Makisara@kolumbus.fi>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent f0773b5f
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support
*/ */
static const char *verstr = "20080224"; static const char *verstr = "20080504";
#include <linux/module.h> #include <linux/module.h>
...@@ -1670,6 +1670,7 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) ...@@ -1670,6 +1670,7 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos)
if (undone <= do_count) { if (undone <= do_count) {
/* Only data from this write is not written */ /* Only data from this write is not written */
count += undone; count += undone;
b_point -= undone;
do_count -= undone; do_count -= undone;
if (STp->block_size) if (STp->block_size)
blks = (transfer - undone) / STp->block_size; blks = (transfer - undone) / STp->block_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment