summaryrefslogtreecommitdiffstats
path: root/tapset/scsi.stp
diff options
context:
space:
mode:
Diffstat (limited to 'tapset/scsi.stp')
-rw-r--r--tapset/scsi.stp10
1 files changed, 4 insertions, 6 deletions
diff --git a/tapset/scsi.stp b/tapset/scsi.stp
index 76b9a114..b1b2d19b 100644
--- a/tapset/scsi.stp
+++ b/tapset/scsi.stp
@@ -136,9 +136,7 @@ function scsi_timer_pending:long(var:long)
%}
function get_devstate_from_req:long(var:long)
-%{ /* pure */
- struct request_queue *q = (struct request_queue *)((long)THIS->var);
- struct scsi_device *sdev = (struct scsi_device *)kread(&(q->queuedata));
- THIS->__retvalue = kread(&(sdev->sdev_state));
- CATCH_DEREF_FAULT();
-%}
+{
+ sdev = @cast(var, "request_queue", "kernel")->queuedata
+ return @cast(sdev, "scsi_device", "kernel")->sdev_state
+}