On Thu, 25 Oct 2007 01:40:00 +0100
Sid Boyce <g3vbv@blueyonder.co.uk> wrote:
Can you try this?
Thanks,
diff --git a/drivers/block/ub.c b/drivers/block/ub.c
index 14143f2..78f158f 100644
--- a/drivers/block/ub.c
+++ b/drivers/block/ub.c
@@ -1428,6 +1428,7 @@ static void ub_state_sense(struct ub_dev *sc, struct ub_scsi_cmd *cmd)
scmd->state = UB_CMDST_INIT;
scmd->nsg = 1;
sg = &scmd->sgv[0];
+ sg_init_table(sg, UB_MAX_REQ_SG);
sg_set_page(sg, virt_to_page(sc->top_sense));
sg->offset = (unsigned long)sc->top_sense & (PAGE_SIZE-1);
sg->length = UB_SENSE_SIZE;
@@ -1864,6 +1865,7 @@ static int ub_sync_read_cap(struct ub_dev *sc, struct ub_lun *lun,
cmd->state = UB_CMDST_INIT;
cmd->nsg = 1;
sg = &cmd->sgv[0];
+ sg_init_table(sg, UB_MAX_REQ_SG);
sg_set_page(sg, virt_to_page(p));
sg->offset = (unsigned long)p & (PAGE_SIZE-1);
sg->length = 8;
-