sg->offset = (unsigned int)sc->top_sense & (PAGE_SIZE-1); 
sg->offset = (unsigned long)sc->top_sense & (PAGE_SIZE-1); 
static void ub_state_sense(struct ub_dev *sc, struct ub_scsi_cmd *cmd){	struct ub_scsi_cmd *scmd;	struct scatterlist *sg;	int rc;	if (cmd->cdb[0] == REQUEST_SENSE) {		rc = -EPIPE;		goto error;	}	scmd = &sc->top_rqs_cmd;	memset(scmd, 0, sizeof(struct ub_scsi_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->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;	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);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/38ffdd62b0f466ef9126ac9f060ade5f218b4887/ub.c/clean/drivers/block/ub.c