diff options
Diffstat (limited to 'drivers/message/fusion')
| -rw-r--r-- | drivers/message/fusion/lsi/mpi.h | 4 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 2 | ||||
| -rw-r--r-- | drivers/message/fusion/mptbase.c | 9 | ||||
| -rw-r--r-- | drivers/message/fusion/mptbase.h | 2 | ||||
| -rw-r--r-- | drivers/message/fusion/mptctl.c | 8 | ||||
| -rw-r--r-- | drivers/message/fusion/mptdebug.h | 7 | ||||
| -rw-r--r-- | drivers/message/fusion/mptlan.c | 9 | ||||
| -rw-r--r-- | drivers/message/fusion/mptsas.c | 10 | 
8 files changed, 18 insertions, 33 deletions
| diff --git a/drivers/message/fusion/lsi/mpi.h b/drivers/message/fusion/lsi/mpi.h index a575545d681f..eccbe54d43f3 100644 --- a/drivers/message/fusion/lsi/mpi.h +++ b/drivers/message/fusion/lsi/mpi.h @@ -424,8 +424,8 @@ typedef struct _SGE_TRANSACTION32      U8                      ContextSize;      U8                      DetailsLength;      U8                      Flags; -    U32                     TransactionContext[1]; -    U32                     TransactionDetails[1]; +    U32                     TransactionContext; +    U32                     TransactionDetails[];  } SGE_TRANSACTION32, MPI_POINTER PTR_SGE_TRANSACTION32,    SGETransaction32_t, MPI_POINTER pSGETransaction32_t; diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index c249f2994fc1..1534460fd5b1 100644 --- a/drivers/message/fusion/lsi/mpi_ioc.h +++ b/drivers/message/fusion/lsi/mpi_ioc.h @@ -448,7 +448,7 @@ typedef struct _MSG_EVENT_NOTIFY_REPLY       U32                    IOCLogInfo;                 /* 10h */       U32                    Event;                      /* 14h */       U32                    EventContext;               /* 18h */ -     U32                    Data[1];                    /* 1Ch */ +     U32                    Data[];			/* 1Ch */  } MSG_EVENT_NOTIFY_REPLY, MPI_POINTER PTR_MSG_EVENT_NOTIFY_REPLY,    EventNotificationReply_t, MPI_POINTER pEventNotificationReply_t; diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 549797d0301d..f4f89cf23631 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -3084,7 +3084,7 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)  	int			 req_sz;  	int			 reply_sz;  	int			 sz; -	u32			 status, vv; +	u32			 vv;  	u8			 shiftFactor=1;  	/* IOC *must* NOT be in RESET state! */ @@ -3142,7 +3142,6 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)  		facts->IOCExceptions = le16_to_cpu(facts->IOCExceptions);  		facts->IOCStatus = le16_to_cpu(facts->IOCStatus);  		facts->IOCLogInfo = le32_to_cpu(facts->IOCLogInfo); -		status = le16_to_cpu(facts->IOCStatus) & MPI_IOCSTATUS_MASK;  		/* CHECKME! IOCStatus, IOCLogInfo */  		facts->ReplyQueueDepth = le16_to_cpu(facts->ReplyQueueDepth); @@ -4974,7 +4973,7 @@ GetLanConfigPages(MPT_ADAPTER *ioc)  	if (hdr.PageLength > 0) {  		data_sz = hdr.PageLength * 4; -		ppage0_alloc = (LANPage0_t *) pci_alloc_consistent(ioc->pcidev, data_sz, &page0_dma); +		ppage0_alloc = pci_alloc_consistent(ioc->pcidev, data_sz, &page0_dma);  		rc = -ENOMEM;  		if (ppage0_alloc) {  			memset((u8 *)ppage0_alloc, 0, data_sz); @@ -5020,7 +5019,7 @@ GetLanConfigPages(MPT_ADAPTER *ioc)  	data_sz = hdr.PageLength * 4;  	rc = -ENOMEM; -	ppage1_alloc = (LANPage1_t *) pci_alloc_consistent(ioc->pcidev, data_sz, &page1_dma); +	ppage1_alloc = pci_alloc_consistent(ioc->pcidev, data_sz, &page1_dma);  	if (ppage1_alloc) {  		memset((u8 *)ppage1_alloc, 0, data_sz);  		cfg.physAddr = page1_dma; @@ -5321,7 +5320,7 @@ GetIoUnitPage2(MPT_ADAPTER *ioc)  	/* Read the config page */  	data_sz = hdr.PageLength * 4;  	rc = -ENOMEM; -	ppage_alloc = (IOUnitPage2_t *) pci_alloc_consistent(ioc->pcidev, data_sz, &page_dma); +	ppage_alloc = pci_alloc_consistent(ioc->pcidev, data_sz, &page_dma);  	if (ppage_alloc) {  		memset((u8 *)ppage_alloc, 0, data_sz);  		cfg.physAddr = page_dma; diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 813d46311f6a..b9e0376be723 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h @@ -274,7 +274,7 @@ typedef union _MPT_FRAME_TRACKER {  	} linkage;  	/*  	 * NOTE: When request frames are free, on the linkage structure -	 * contets are valid.  All other values are invalid. +	 * contents are valid.  All other values are invalid.  	 * In particular, do NOT reply on offset [2]  	 * (in words) being the * message context.  	 * The message context must be reset (computed via base address diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c index 24aebad60366..72025996cd70 100644 --- a/drivers/message/fusion/mptctl.c +++ b/drivers/message/fusion/mptctl.c @@ -321,7 +321,6 @@ mptctl_do_taskmgmt(MPT_ADAPTER *ioc, u8 tm_type, u8 bus_id, u8 target_id)  	int		 ii;  	int		 retval;  	unsigned long	 timeout; -	unsigned long	 time_count;  	u16		 iocstatus; @@ -383,7 +382,6 @@ mptctl_do_taskmgmt(MPT_ADAPTER *ioc, u8 tm_type, u8 bus_id, u8 target_id)  		ioc->name, tm_type, timeout));  	INITIALIZE_MGMT_STATUS(ioc->taskmgmt_cmds.status) -	time_count = jiffies;  	if ((ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) &&  	    (ioc->facts.MsgVersion >= MPI_VERSION_01_05))  		mpt_put_msg_frame_hi_pri(mptctl_taskmgmt_id, ioc, mf); @@ -1369,7 +1367,6 @@ mptctl_gettargetinfo (MPT_ADAPTER *ioc, unsigned long arg)  	int			lun;  	int			maxWordsLeft;  	int			numBytes; -	u8			port;  	struct scsi_device 	*sdev;  	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_targetinfo))) { @@ -1381,13 +1378,8 @@ mptctl_gettargetinfo (MPT_ADAPTER *ioc, unsigned long arg)  	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_gettargetinfo called.\n",  	    ioc->name)); -	/* Get the port number and set the maximum number of bytes -	 * in the returned structure. -	 * Ignore the port setting. -	 */  	numBytes = karg.hdr.maxDataSize - sizeof(mpt_ioctl_header);  	maxWordsLeft = numBytes/sizeof(int); -	port = karg.hdr.port;  	if (maxWordsLeft <= 0) {  		printk(MYIOC_s_ERR_FMT "%s@%d::mptctl_gettargetinfo() - no memory available!\n", diff --git a/drivers/message/fusion/mptdebug.h b/drivers/message/fusion/mptdebug.h index 2205dcab0adb..c281b1359419 100644 --- a/drivers/message/fusion/mptdebug.h +++ b/drivers/message/fusion/mptdebug.h @@ -67,12 +67,13 @@  #ifdef CONFIG_FUSION_LOGGING  #define MPT_CHECK_LOGGING(IOC, CMD, BITS)			\ -{								\ +do {								\  	if (IOC->debug_level & BITS)				\  		CMD;						\ -} +} while (0)  #else -#define MPT_CHECK_LOGGING(IOC, CMD, BITS) +#define MPT_CHECK_LOGGING(IOC, CMD, BITS)			\ +do { } while (0)  #endif diff --git a/drivers/message/fusion/mptlan.c b/drivers/message/fusion/mptlan.c index 7d3784aa20e5..3261cac762de 100644 --- a/drivers/message/fusion/mptlan.c +++ b/drivers/message/fusion/mptlan.c @@ -72,9 +72,6 @@ MODULE_VERSION(my_VERSION);  #define MPT_LAN_RECEIVE_POST_REQUEST_SIZE \  	(sizeof(LANReceivePostRequest_t) - sizeof(SGE_MPI_UNION)) -#define MPT_LAN_TRANSACTION32_SIZE \ -	(sizeof(SGETransaction32_t) - sizeof(u32)) -  /*   *  Fusion MPT LAN private structures   */ @@ -745,7 +742,7 @@ mpt_lan_sdu_send (struct sk_buff *skb, struct net_device *dev)  	pTrans->ContextSize   = sizeof(u32);  	pTrans->DetailsLength = 2 * sizeof(u32);  	pTrans->Flags         = 0; -	pTrans->TransactionContext[0] = cpu_to_le32(ctx); +	pTrans->TransactionContext = cpu_to_le32(ctx);  //	dioprintk((KERN_INFO MYNAM ": %s/%s: BC = %08x, skb = %p, buff = %p\n",  //			IOC_AND_NETDEV_NAMES_s_s(dev), @@ -1159,7 +1156,7 @@ mpt_lan_post_receive_buckets(struct mpt_lan_priv *priv)  			__func__, buckets, curr));  	max = (mpt_dev->req_sz - MPT_LAN_RECEIVE_POST_REQUEST_SIZE) / -			(MPT_LAN_TRANSACTION32_SIZE + sizeof(SGESimple64_t)); +			(sizeof(SGETransaction32_t) + sizeof(SGESimple64_t));  	while (buckets) {  		mf = mpt_get_msg_frame(LanCtx, mpt_dev); @@ -1234,7 +1231,7 @@ mpt_lan_post_receive_buckets(struct mpt_lan_priv *priv)  			pTrans->ContextSize   = sizeof(u32);  			pTrans->DetailsLength = 0;  			pTrans->Flags         = 0; -			pTrans->TransactionContext[0] = cpu_to_le32(ctx); +			pTrans->TransactionContext = cpu_to_le32(ctx);  			pSimple = (SGESimple64_t *) pTrans->TransactionDetails; diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 5eb0b3361e4e..e0a65a348502 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c @@ -780,13 +780,11 @@ static void  mptsas_add_device_component_starget(MPT_ADAPTER *ioc,  	struct scsi_target *starget)  { -	VirtTarget	*vtarget;  	struct sas_rphy	*rphy;  	struct mptsas_phyinfo	*phy_info = NULL;  	struct mptsas_enclosure	enclosure_info;  	rphy = dev_to_rphy(starget->dev.parent); -	vtarget = starget->hostdata;  	phy_info = mptsas_find_phyinfo_by_sas_address(ioc,  			rphy->identify.sas_address);  	if (!phy_info) @@ -3442,14 +3440,12 @@ mptsas_expander_event_add(MPT_ADAPTER *ioc,  	__le64 sas_address;  	port_info = kzalloc(sizeof(struct mptsas_portinfo), GFP_KERNEL); -	if (!port_info) -		BUG(); +	BUG_ON(!port_info);  	port_info->num_phys = (expander_data->NumPhys) ?  	    expander_data->NumPhys : 1;  	port_info->phy_info = kcalloc(port_info->num_phys,  	    sizeof(struct mptsas_phyinfo), GFP_KERNEL); -	if (!port_info->phy_info) -		BUG(); +	BUG_ON(!port_info->phy_info);  	memcpy(&sas_address, &expander_data->SASAddress, sizeof(__le64));  	for (i = 0; i < port_info->num_phys; i++) {  		port_info->phy_info[i].portinfo = port_info; @@ -3781,7 +3777,7 @@ mptsas_send_link_status_event(struct fw_event_work *fw_event)  						printk(MYIOC_s_DEBUG_FMT  						"SDEV OUTSTANDING CMDS"  						"%d\n", ioc->name, -						atomic_read(&sdev->device_busy))); +						scsi_device_busy(sdev)));  				}  			} | 
