diff options
| author | Dean Nelson <dcn@sgi.com> | 2008-07-29 22:34:19 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-30 09:41:50 -0700 | 
| commit | bd3e64c1759e4930315ebf022611468ee9621486 (patch) | |
| tree | 314f4f8a80788b181aa03714d952854c8e2a1866 /drivers/misc/sgi-xp/xp_main.c | |
| parent | 5b8669dfd110a62a74eea525a009342f73987ea0 (diff) | |
| download | olio-linux-3.10-bd3e64c1759e4930315ebf022611468ee9621486.tar.xz olio-linux-3.10-bd3e64c1759e4930315ebf022611468ee9621486.zip  | |
sgi-xp: setup the notify GRU message queue
Setup the notify GRU message queue that is used for sending user messages
on UV systems.
Signed-off-by: Dean Nelson <dcn@sgi.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-xp/xp_main.c')
| -rw-r--r-- | drivers/misc/sgi-xp/xp_main.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/misc/sgi-xp/xp_main.c b/drivers/misc/sgi-xp/xp_main.c index f86ad3af26b..66a1d19e08a 100644 --- a/drivers/misc/sgi-xp/xp_main.c +++ b/drivers/misc/sgi-xp/xp_main.c @@ -154,6 +154,9 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size,  	DBUG_ON(func == NULL);  	DBUG_ON(assigned_limit == 0 || idle_limit > assigned_limit); +	if (XPC_MSG_SIZE(payload_size) > XPC_MSG_MAX_SIZE) +		return xpPayloadTooBig; +  	registration = &xpc_registrations[ch_number];  	if (mutex_lock_interruptible(®istration->mutex) != 0) @@ -166,7 +169,7 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size,  	}  	/* register the channel for connection */ -	registration->msg_size = XPC_MSG_SIZE(payload_size); +	registration->entry_size = XPC_MSG_SIZE(payload_size);  	registration->nentries = nentries;  	registration->assigned_limit = assigned_limit;  	registration->idle_limit = idle_limit; @@ -220,7 +223,7 @@ xpc_disconnect(int ch_number)  	registration->func = NULL;  	registration->key = NULL;  	registration->nentries = 0; -	registration->msg_size = 0; +	registration->entry_size = 0;  	registration->assigned_limit = 0;  	registration->idle_limit = 0;  |