mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 15:11:50 +00:00
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: Ken Cox <jkc@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
60e1741fc3
commit
e40d1c8ad9
@ -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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user