Commit 866fd66b authored by Jeff Garzik's avatar Jeff Garzik

[libata] use kunmap_atomic() correctly

parent 284851bf
......@@ -742,13 +742,13 @@ static unsigned int ata_scsi_rbuf_get(struct scsi_cmnd *cmd, u8 **buf_out)
* spin_lock_irqsave(host_set lock)
*/
static inline void ata_scsi_rbuf_put(struct scsi_cmnd *cmd)
static inline void ata_scsi_rbuf_put(struct scsi_cmnd *cmd, u8 *buf)
{
if (cmd->use_sg) {
struct scatterlist *sg;
sg = (struct scatterlist *) cmd->request_buffer;
kunmap_atomic(sg->page, KM_USER0);
kunmap_atomic(buf - sg->offset, KM_USER0);
}
}
......@@ -778,7 +778,7 @@ void ata_scsi_rbuf_fill(struct ata_scsi_args *args,
buflen = ata_scsi_rbuf_get(cmd, &rbuf);
memset(rbuf, 0, buflen);
rc = actor(args, rbuf, buflen);
ata_scsi_rbuf_put(cmd);
ata_scsi_rbuf_put(cmd, rbuf);
if (rc)
ata_bad_cdb(cmd, args->done);
......@@ -1264,7 +1264,7 @@ static int atapi_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat)
buflen = ata_scsi_rbuf_get(cmd, &buf);
buf[2] = 0x5;
buf[3] = (buf[3] & 0xf0) | 2;
ata_scsi_rbuf_put(cmd);
ata_scsi_rbuf_put(cmd, buf);
}
cmd->result = SAM_STAT_GOOD;
}
......
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