Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e40d1c8a authored by Ken Cox's avatar Ken Cox Committed by Greg Kroah-Hartman
Browse files

Staging: unisys: Fixup sparse warnings for dereferencing noderef types.



Fixed the usage of the following so they don't try to dereference
pointers to iomem.
	CHANNEL_U64_MISMATCH
	CHANNEL_U32_MISMATCH
	wait_for_valid_guid

Signed-off-by: default avatarKen Cox <jkc@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 60e1741f
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -333,8 +333,9 @@ ULTRA_check_channel_client(void __iomem *pChannel,
			   (pChannel))->Size) < expectedMinBytes) {
			CHANNEL_U64_MISMATCH(expectedTypeGuid, channelName,
					     "size", expectedMinBytes,
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->Size, fileName,
					     readq(&((CHANNEL_HEADER __iomem *)
						     (pChannel))->Size),
					     fileName,
					     lineNumber, logCtx);
			return 0;
		}
@@ -344,9 +345,9 @@ ULTRA_check_channel_client(void __iomem *pChannel,
		    != expectedVersionId) {
			CHANNEL_U32_MISMATCH(expectedTypeGuid, channelName,
					     "version", expectedVersionId,
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->VersionId, fileName,
					     lineNumber, logCtx);
					     readl(&((CHANNEL_HEADER __iomem *)
						     (pChannel))->VersionId),
					     fileName, lineNumber, logCtx);
			return 0;
		}
	if (expectedSignature > 0)	/* caller wants us to verify
@@ -355,8 +356,9 @@ ULTRA_check_channel_client(void __iomem *pChannel,
		    != expectedSignature) {
			CHANNEL_U64_MISMATCH(expectedTypeGuid, channelName,
					     "signature", expectedSignature,
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->Signature, fileName,
					     readq(&((CHANNEL_HEADER __iomem *)
						     (pChannel))->Signature),
					     fileName,
					     lineNumber, logCtx);
			return 0;
		}
+15 −8
Original line number Diff line number Diff line
@@ -194,14 +194,21 @@ struct chaninfo {
 * correctly at DEVICE_CREATE time, INSTEAD OF waiting until
 * DEVICE_CONFIGURE time.
 */
#define WAIT_FOR_VALID_GUID(guid) \
	do {						   \
		while (uuid_le_cmp(guid, NULL_UUID_LE) == 0) {	\
			LOGERR("Waiting for non-0 GUID (why???)...\n"); \
			UIS_THREAD_WAIT_SEC(5);				\
		}							\
		LOGERR("OK... GUID is non-0 now\n");			\
	} while (0)
static inline void
wait_for_valid_guid(uuid_le __iomem *guid)
{
	uuid_le tmpguid;

	while (1) {
		memcpy_fromio((void *)&tmpguid,
			      (void __iomem *)guid, sizeof(uuid_le));
		if (uuid_le_cmp(tmpguid, NULL_UUID_LE) != 0)
			break;
		LOGERR("Waiting for non-0 GUID (why???)...\n");
		UIS_THREAD_WAIT_SEC(5);
	}
	LOGERR("OK... GUID is non-0 now\n");
}

/* CopyFragsInfoFromSkb returns the number of entries added to frags array
 * Returns -1 on failure.
+2 −2
Original line number Diff line number Diff line
@@ -447,7 +447,7 @@ create_device(CONTROLVM_MESSAGE *msg, char *buf)
				struct guest_msgs cmd;
				if (!uuid_le_cmp(dev->channelTypeGuid,
				     UltraVhbaChannelProtocolGuid)) {
					WAIT_FOR_VALID_GUID(((CHANNEL_HEADER
					wait_for_valid_guid(&((CHANNEL_HEADER
							      __iomem *) (dev->
								  chanptr))->
							    Type);
@@ -472,7 +472,7 @@ create_device(CONTROLVM_MESSAGE *msg, char *buf)
				} else
				    if (!uuid_le_cmp(dev->channelTypeGuid,
					 UltraVnicChannelProtocolGuid)) {
					WAIT_FOR_VALID_GUID(((CHANNEL_HEADER
					wait_for_valid_guid(&((CHANNEL_HEADER
							      __iomem *) (dev->
								  chanptr))->
							    Type);