diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2012-05-08 13:35:37 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-05-08 13:35:37 -0400 |
commit | 7b96c686223a5c902d6a59c7d178f3904f0ab757 (patch) | |
tree | fe328ed56ad3719de3cfebad72ef74e34f1ed92b /drivers/char/tile-srom.c | |
parent | f141ed65f256ec036c7fba604da6b7c448096ef9 (diff) | |
parent | d48b97b403d23f6df0b990cee652bdf9a52337a3 (diff) |
Merge tag 'v3.4-rc6' into gpio/next
Linux 3.4-rc6
Diffstat (limited to 'drivers/char/tile-srom.c')
-rw-r--r-- | drivers/char/tile-srom.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/char/tile-srom.c b/drivers/char/tile-srom.c index 4dc019408fac..3b22a606f79d 100644 --- a/drivers/char/tile-srom.c +++ b/drivers/char/tile-srom.c | |||
@@ -194,17 +194,17 @@ static ssize_t srom_read(struct file *filp, char __user *buf, | |||
194 | 194 | ||
195 | hv_retval = _srom_read(srom->hv_devhdl, kernbuf, | 195 | hv_retval = _srom_read(srom->hv_devhdl, kernbuf, |
196 | *f_pos, bytes_this_pass); | 196 | *f_pos, bytes_this_pass); |
197 | if (hv_retval > 0) { | 197 | if (hv_retval <= 0) { |
198 | if (copy_to_user(buf, kernbuf, hv_retval) != 0) { | ||
199 | retval = -EFAULT; | ||
200 | break; | ||
201 | } | ||
202 | } else if (hv_retval <= 0) { | ||
203 | if (retval == 0) | 198 | if (retval == 0) |
204 | retval = hv_retval; | 199 | retval = hv_retval; |
205 | break; | 200 | break; |
206 | } | 201 | } |
207 | 202 | ||
203 | if (copy_to_user(buf, kernbuf, hv_retval) != 0) { | ||
204 | retval = -EFAULT; | ||
205 | break; | ||
206 | } | ||
207 | |||
208 | retval += hv_retval; | 208 | retval += hv_retval; |
209 | *f_pos += hv_retval; | 209 | *f_pos += hv_retval; |
210 | buf += hv_retval; | 210 | buf += hv_retval; |