scmd->data = sc->top_sense; 
scmd->nsg = 1; sg = &scmd->sgv[0]; sg->page = virt_to_page(sc->top_sense); sg->offset = (unsigned int)sc->top_sense & (PAGE_SIZE-1); sg->length = UB_SENSE_SIZE; 
static void ub_state_sense(struct ub_dev *sc, struct ub_scsi_cmd *cmd){	struct ub_scsi_cmd *scmd;	int rc;	if (cmd->cdb[0] == REQUEST_SENSE) {		rc = -EPIPE;		goto error;	}	scmd = &sc->top_rqs_cmd;	scmd->cdb[0] = REQUEST_SENSE;	scmd->cdb[4] = UB_SENSE_SIZE;	scmd->cdb_len = 6;	scmd->dir = UB_DIR_READ;	scmd->state = UB_CMDST_INIT;	scmd->data = sc->top_sense;	scmd->len = UB_SENSE_SIZE;	scmd->lun = cmd->lun;	scmd->done = ub_top_sense_done;	scmd->back = cmd;	scmd->tag = sc->tagcnt++;	cmd->state = UB_CMDST_SENSE;	ub_cmdtr_state(sc, cmd);	ub_cmdq_insert(sc, scmd);	return;error:	ub_state_done(sc, cmd, rc);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a1cf96efbabac2f8af6f75286ffcefd40b0a466c/ub.c/buggy/drivers/block/ub.c