Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 143393
b: refs/heads/master
c: 52db45c
h: refs/heads/master
i:
  143391: f73f03c
v: v3
  • Loading branch information
Stefan Weinhuber authored and Martin Schwidefsky committed Apr 14, 2009
1 parent 58d663d commit ed32e21
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f3445a1a656bc26b07946cc6d20de1ef07c8d116
refs/heads/master: 52db45c3c55a0fca53077dfd7b123e30cd210aad
16 changes: 12 additions & 4 deletions trunk/drivers/s390/block/dasd_eckd.c
Original file line number Diff line number Diff line change
Expand Up @@ -2019,15 +2019,23 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track(
ccw++;
recid += count;
new_track = 0;
/* first idaw for a ccw may start anywhere */
if (!idaw_dst)
idaw_dst = dst;
}
/* If we start a new idaw, everything is fine and the
* start of the new idaw is the start of this segment.
/* If we start a new idaw, we must make sure that it
* starts on an IDA_BLOCK_SIZE boundary.
* If we continue an idaw, we must make sure that the
* current segment begins where the so far accumulated
* idaw ends
*/
if (!idaw_dst)
idaw_dst = dst;
if (!idaw_dst) {
if (__pa(dst) & (IDA_BLOCK_SIZE-1)) {
dasd_sfree_request(cqr, startdev);
return ERR_PTR(-ERANGE);
} else
idaw_dst = dst;
}
if ((idaw_dst + idaw_len) != dst) {
dasd_sfree_request(cqr, startdev);
return ERR_PTR(-ERANGE);
Expand Down

0 comments on commit ed32e21

Please sign in to comment.