diff options
Diffstat (limited to 'drivers/scsi/advansys.c')
| -rw-r--r-- | drivers/scsi/advansys.c | 14 | 
1 files changed, 6 insertions, 8 deletions
| diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index ffb391967573..ace5eff828e9 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -3308,8 +3308,8 @@ static void asc_prt_adv_board_info(struct seq_file *m, struct Scsi_Host *shost)  		   shost->host_no);  	seq_printf(m, -		   " iop_base 0x%lx, cable_detect: %X, err_code %u\n", -		   (unsigned long)v->iop_base, +		   " iop_base 0x%p, cable_detect: %X, err_code %u\n", +		   v->iop_base,  		   AdvReadWordRegister(iop_base,IOPW_SCSI_CFG1) & CABLE_DETECT,  		   v->err_code); @@ -3592,7 +3592,7 @@ static void asc_scsi_done(struct scsi_cmnd *scp)  {  	scsi_dma_unmap(scp);  	ASC_STATS(scp->device->host, done); -	scp->scsi_done(scp); +	scsi_done(scp);  }  static void AscSetBank(PortAddr iop_base, uchar bank) @@ -7477,8 +7477,8 @@ static int asc_build_req(struct asc_board *boardp, struct scsi_cmnd *scp,  			return ASC_ERROR;  		} -		asc_sg_head = kzalloc(sizeof(asc_scsi_q->sg_head) + -			use_sg * sizeof(struct asc_sg_list), GFP_ATOMIC); +		asc_sg_head = kzalloc(struct_size(asc_sg_head, sg_list, use_sg), +				      GFP_ATOMIC);  		if (!asc_sg_head) {  			scsi_dma_unmap(scp);  			set_host_byte(scp, DID_SOFT_ERROR); @@ -8453,14 +8453,12 @@ static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)   * This function always returns 0. Command return status is saved   * in the 'scp' result field.   */ -static int -advansys_queuecommand_lck(struct scsi_cmnd *scp, void (*done)(struct scsi_cmnd *)) +static int advansys_queuecommand_lck(struct scsi_cmnd *scp)  {  	struct Scsi_Host *shost = scp->device->host;  	int asc_res, result = 0;  	ASC_STATS(shost, queuecommand); -	scp->scsi_done = done;  	asc_res = asc_execute_scsi_cmnd(scp); | 
