projects
/
platform
/
kernel
/
linux-starfive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SCSI] fix media change events for polled devices
[platform/kernel/linux-starfive.git]
/
drivers
/
scsi
/
libsrp.c
diff --git
a/drivers/scsi/libsrp.c
b/drivers/scsi/libsrp.c
index
732446e
..
6d6a76e
100644
(file)
--- a/
drivers/scsi/libsrp.c
+++ b/
drivers/scsi/libsrp.c
@@
-192,18
+192,18
@@
static int srp_direct_data(struct scsi_cmnd *sc, struct srp_direct_buf *md,
if (dma_map) {
iue = (struct iu_entry *) sc->SCp.ptr;
if (dma_map) {
iue = (struct iu_entry *) sc->SCp.ptr;
- sg = sc
->request_buffer
;
+ sg = sc
si_sglist(sc)
;
- dprintk("%p %u %u %d\n", iue, sc
->request_bufflen
,
- md->len, sc
->use_sg
);
+ dprintk("%p %u %u %d\n", iue, sc
si_bufflen(sc)
,
+ md->len, sc
si_sg_count(sc)
);
- nsg = dma_map_sg(iue->target->dev, sg, sc
->use_sg
,
+ nsg = dma_map_sg(iue->target->dev, sg, sc
si_sg_count(sc)
,
DMA_BIDIRECTIONAL);
if (!nsg) {
DMA_BIDIRECTIONAL);
if (!nsg) {
- printk("fail to map %p %d\n", iue, sc
->use_sg
);
+ printk("fail to map %p %d\n", iue, sc
si_sg_count(sc)
);
return 0;
}
return 0;
}
- len = min(sc
->request_bufflen
, md->len);
+ len = min(sc
si_bufflen(sc)
, md->len);
} else
len = md->len;
} else
len = md->len;
@@
-229,10
+229,10
@@
static int srp_indirect_data(struct scsi_cmnd *sc, struct srp_cmd *cmd,
if (dma_map || ext_desc) {
iue = (struct iu_entry *) sc->SCp.ptr;
if (dma_map || ext_desc) {
iue = (struct iu_entry *) sc->SCp.ptr;
- sg = sc
->request_buffer
;
+ sg = sc
si_sglist(sc)
;
dprintk("%p %u %u %d %d\n",
dprintk("%p %u %u %d %d\n",
- iue, sc
->request_bufflen
, id->len,
+ iue, sc
si_bufflen(sc)
, id->len,
cmd->data_in_desc_cnt, cmd->data_out_desc_cnt);
}
cmd->data_in_desc_cnt, cmd->data_out_desc_cnt);
}
@@
-268,13
+268,14
@@
static int srp_indirect_data(struct scsi_cmnd *sc, struct srp_cmd *cmd,
rdma:
if (dma_map) {
rdma:
if (dma_map) {
- nsg = dma_map_sg(iue->target->dev, sg, sc->use_sg, DMA_BIDIRECTIONAL);
+ nsg = dma_map_sg(iue->target->dev, sg, scsi_sg_count(sc),
+ DMA_BIDIRECTIONAL);
if (!nsg) {
if (!nsg) {
- eprintk("fail to map %p %d\n", iue, sc
->use_sg
);
+ eprintk("fail to map %p %d\n", iue, sc
si_sg_count(sc)
);
err = -EIO;
goto free_mem;
}
err = -EIO;
goto free_mem;
}
- len = min(sc
->request_bufflen
, id->len);
+ len = min(sc
si_bufflen(sc)
, id->len);
} else
len = id->len;
} else
len = id->len;
@@
-392,7
+393,7
@@
static int vscsis_data_length(struct srp_cmd *cmd, enum dma_data_direction dir)
}
int srp_cmd_queue(struct Scsi_Host *shost, struct srp_cmd *cmd, void *info,
}
int srp_cmd_queue(struct Scsi_Host *shost, struct srp_cmd *cmd, void *info,
- u64 addr)
+ u64
itn_id, u64
addr)
{
enum dma_data_direction dir;
struct scsi_cmnd *sc;
{
enum dma_data_direction dir;
struct scsi_cmnd *sc;
@@
-425,10
+426,11
@@
int srp_cmd_queue(struct Scsi_Host *shost, struct srp_cmd *cmd, void *info,
sc->SCp.ptr = info;
memcpy(sc->cmnd, cmd->cdb, MAX_COMMAND_SIZE);
sc->SCp.ptr = info;
memcpy(sc->cmnd, cmd->cdb, MAX_COMMAND_SIZE);
- sc->
request_bufflen
= len;
- sc->
request_buffer
= (void *) (unsigned long) addr;
+ sc->
sdb.length
= len;
+ sc->
sdb.table.sgl
= (void *) (unsigned long) addr;
sc->tag = tag;
sc->tag = tag;
- err = scsi_tgt_queue_command(sc, (struct scsi_lun *) &cmd->lun, cmd->tag);
+ err = scsi_tgt_queue_command(sc, itn_id, (struct scsi_lun *)&cmd->lun,
+ cmd->tag);
if (err)
scsi_host_put_command(shost, sc);
if (err)
scsi_host_put_command(shost, sc);