Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23363
b: refs/heads/master
c: 3ba1998
h: refs/heads/master
i:
  23361: d7bd5b4
  23359: 2e1d20d
v: v3
  • Loading branch information
Cornelia Huck authored and Linus Torvalds committed Mar 24, 2006
1 parent 3d17b85 commit 9bd7839
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3d1712c91df01d2573b934e972e231e8edb102c7
refs/heads/master: 3ba1998e90239ed0d7af918998bc866fa77303eb
12 changes: 12 additions & 0 deletions trunk/drivers/s390/cio/device_fsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -827,13 +827,25 @@ ccw_device_w4sense(struct ccw_device *cdev, enum dev_event dev_event)
}
return;
}
/*
* Check if a halt or clear has been issued in the meanwhile. If yes,
* only deliver the halt/clear interrupt to the device driver as if it
* had killed the original request.
*/
if (irb->scsw.fctl & (SCSW_FCTL_CLEAR_FUNC | SCSW_FCTL_HALT_FUNC)) {
cdev->private->flags.dosense = 0;
memset(&cdev->private->irb, 0, sizeof(struct irb));
ccw_device_accumulate_irb(cdev, irb);
goto call_handler;
}
/* Add basic sense info to irb. */
ccw_device_accumulate_basic_sense(cdev, irb);
if (cdev->private->flags.dosense) {
/* Another basic sense is needed. */
ccw_device_do_sense(cdev, irb);
return;
}
call_handler:
cdev->private->state = DEV_STATE_ONLINE;
/* Call the handler. */
if (ccw_device_call_handler(cdev) && cdev->private->flags.doverify)
Expand Down

0 comments on commit 9bd7839

Please sign in to comment.