Hi, I noticed that you checked in some ehca changes.  A couple of comments:

1) While most of the changes to your #includes are correct, like

        -#include <hipz_fns_core.h>
        +#include "hipz_fns_core.h"

since you should use "" instead of <> for includes in your own local
directory to make the kernel build work, things in the kernel's own
include/ directory should still use <>, so for example

        -#include <linux/version.h>
        +#include "linux/version.h"

Also, I never noticed this before but

        -#include <ib_mad.h>
        +#include "ib_mad.h"

should really just be #include <rdma/ib_mad.h>.

2) How can the changes like

@@ -75,7 +74,7 @@ int ehca_post_send(struct ib_qp *qp,
                my_qp, qp->qp_num, send_wr, bad_send_wr);
 
        /* LOCK the QUEUE */
-       spin_lock_irqsave(&my_qp->spinlock_s, spin_flags);
+       spin_lock(&my_qp->spinlock_s);

be correct?  ehca_post_send() is called directly as your device's
post_send method, which means that a consumer can call it from both
process and interrupt context.  So using plain spin_lock() can
deadlock if a process context call is interrupted by an interrupt
context call.

The same comment applies to your other changes like this, at least in
your post_recv and poll_cq methods.

 - R.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to