* [PATCH 2/2] opal: Add message notifier unregister function
2015-02-10 17:14 [PATCH " Neelesh Gupta
@ 2015-02-10 17:15 ` Neelesh Gupta
0 siblings, 0 replies; 6+ messages in thread
From: Neelesh Gupta @ 2015-02-10 17:15 UTC (permalink / raw)
To: mpe, linuxppc-dev, benh
Provide an unregister interface for the opal message notifiers
to be called when not needed like during driver unload/remove.
Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/opal.h | 2 ++
arch/powerpc/platforms/powernv/opal.c | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index eb95b67..70eb45f 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -940,6 +940,8 @@ extern int opal_notifier_unregister(struct notifier_block *nb);
extern int opal_message_notifier_register(enum OpalMessageType msg_type,
struct notifier_block *nb);
+extern int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+ struct notifier_block *nb);
extern void opal_notifier_enable(void);
extern void opal_notifier_disable(void);
extern void opal_notifier_update_evt(uint64_t evt_mask, uint64_t evt_val);
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index 2651e22..6c108ce 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -315,6 +315,13 @@ int opal_message_notifier_register(enum OpalMessageType msg_type,
&opal_msg_notifier_head[msg_type], nb);
}
+int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+ struct notifier_block *nb)
+{
+ return atomic_notifier_chain_unregister(
+ &opal_msg_notifier_head[msg_type], nb);
+}
+
static void opal_message_do_notify(uint32_t msg_type, void *msg)
{
/* notify subscribers */
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array
@ 2015-02-11 6:27 Neelesh Gupta
2015-02-11 6:27 ` [PATCH 2/2] opal: Add message notifier unregister function Neelesh Gupta
2015-02-11 10:53 ` [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Anshuman Khandual
0 siblings, 2 replies; 6+ messages in thread
From: Neelesh Gupta @ 2015-02-11 6:27 UTC (permalink / raw)
To: mpe, linuxppc-dev, benh
Fixes the condition check of incoming message type which can
otherwise shoot beyond the message notifiers head array.
Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
arch/powerpc/platforms/powernv/opal.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index f10b9ec..2651e22 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -305,16 +305,12 @@ void opal_notifier_disable(void)
int opal_message_notifier_register(enum OpalMessageType msg_type,
struct notifier_block *nb)
{
- if (!nb) {
- pr_warning("%s: Invalid argument (%p)\n",
- __func__, nb);
- return -EINVAL;
- }
- if (msg_type > OPAL_MSG_TYPE_MAX) {
- pr_warning("%s: Invalid message type argument (%d)\n",
+ if (!nb || msg_type >= OPAL_MSG_TYPE_MAX) {
+ pr_warning("%s: Invalid arguments, msg_type:%d\n",
__func__, msg_type);
return -EINVAL;
}
+
return atomic_notifier_chain_register(
&opal_msg_notifier_head[msg_type], nb);
}
@@ -351,7 +347,7 @@ static void opal_handle_message(void)
type = be32_to_cpu(msg.msg_type);
/* Sanity check */
- if (type > OPAL_MSG_TYPE_MAX) {
+ if (type >= OPAL_MSG_TYPE_MAX) {
pr_warning("%s: Unknown message type: %u\n", __func__, type);
return;
}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] opal: Add message notifier unregister function
2015-02-11 6:27 [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Neelesh Gupta
@ 2015-02-11 6:27 ` Neelesh Gupta
2015-02-11 10:57 ` Anshuman Khandual
2015-02-11 10:53 ` [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Anshuman Khandual
1 sibling, 1 reply; 6+ messages in thread
From: Neelesh Gupta @ 2015-02-11 6:27 UTC (permalink / raw)
To: mpe, linuxppc-dev, benh
Provide an unregister interface for the opal message notifiers
to be called when not needed like during driver unload/remove.
Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/opal.h | 2 ++
arch/powerpc/platforms/powernv/opal.c | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index eb95b67..70eb45f 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -940,6 +940,8 @@ extern int opal_notifier_unregister(struct notifier_block *nb);
extern int opal_message_notifier_register(enum OpalMessageType msg_type,
struct notifier_block *nb);
+extern int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+ struct notifier_block *nb);
extern void opal_notifier_enable(void);
extern void opal_notifier_disable(void);
extern void opal_notifier_update_evt(uint64_t evt_mask, uint64_t evt_val);
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index 2651e22..6c108ce 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -315,6 +315,13 @@ int opal_message_notifier_register(enum OpalMessageType msg_type,
&opal_msg_notifier_head[msg_type], nb);
}
+int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+ struct notifier_block *nb)
+{
+ return atomic_notifier_chain_unregister(
+ &opal_msg_notifier_head[msg_type], nb);
+}
+
static void opal_message_do_notify(uint32_t msg_type, void *msg)
{
/* notify subscribers */
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array
2015-02-11 6:27 [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Neelesh Gupta
2015-02-11 6:27 ` [PATCH 2/2] opal: Add message notifier unregister function Neelesh Gupta
@ 2015-02-11 10:53 ` Anshuman Khandual
1 sibling, 0 replies; 6+ messages in thread
From: Anshuman Khandual @ 2015-02-11 10:53 UTC (permalink / raw)
To: Neelesh Gupta, mpe, linuxppc-dev, benh
On 02/11/2015 11:57 AM, Neelesh Gupta wrote:
> Fixes the condition check of incoming message type which can
> otherwise shoot beyond the message notifiers head array.
>
> Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Reviewed-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] opal: Add message notifier unregister function
2015-02-11 6:27 ` [PATCH 2/2] opal: Add message notifier unregister function Neelesh Gupta
@ 2015-02-11 10:57 ` Anshuman Khandual
2015-02-12 11:10 ` Neelesh Gupta
0 siblings, 1 reply; 6+ messages in thread
From: Anshuman Khandual @ 2015-02-11 10:57 UTC (permalink / raw)
To: Neelesh Gupta, mpe, linuxppc-dev, benh
On 02/11/2015 11:57 AM, Neelesh Gupta wrote:
> Provide an unregister interface for the opal message notifiers
> to be called when not needed like during driver unload/remove.
Why only for unload/remove, you can also use it in cases where you need
to abort because of any other error soon after successful registration
for an OPAL message.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] opal: Add message notifier unregister function
2015-02-11 10:57 ` Anshuman Khandual
@ 2015-02-12 11:10 ` Neelesh Gupta
0 siblings, 0 replies; 6+ messages in thread
From: Neelesh Gupta @ 2015-02-12 11:10 UTC (permalink / raw)
To: Anshuman Khandual, mpe, linuxppc-dev, benh
On 02/11/2015 04:27 PM, Anshuman Khandual wrote:
> On 02/11/2015 11:57 AM, Neelesh Gupta wrote:
>> Provide an unregister interface for the opal message notifiers
>> to be called when not needed like during driver unload/remove.
> Why only for unload/remove, you can also use it in cases where you need
> to abort because of any other error soon after successful registration
> for an OPAL message.
I didn't mean *only* driver unload/remove.. gave a simple use case of why do
we need this change.
Neelesh.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-02-12 11:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-11 6:27 [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Neelesh Gupta
2015-02-11 6:27 ` [PATCH 2/2] opal: Add message notifier unregister function Neelesh Gupta
2015-02-11 10:57 ` Anshuman Khandual
2015-02-12 11:10 ` Neelesh Gupta
2015-02-11 10:53 ` [PATCH v2 1/2] opal: Fix the overflow of message notifiers head array Anshuman Khandual
-- strict thread matches above, loose matches on Subject: below --
2015-02-10 17:14 [PATCH " Neelesh Gupta
2015-02-10 17:15 ` [PATCH 2/2] opal: Add message notifier unregister function Neelesh Gupta
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.