--- /dev/null
+diff -rup a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
+--- a/drivers/infiniband/hw/qib/qib_fs.c 2012-05-21 10:14:13.000000000 -0400
++++ b/drivers/infiniband/hw/qib/qib_fs.c 2012-05-21 10:51:08.000000000 -0400
+@@ -58,7 +58,9 @@ static int qibfs_mknod(struct inode *dir
+ goto bail;
+ }
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,36))
+ inode->i_ino = get_next_ino();
++#endif
+ inode->i_mode = mode;
+ inode->i_uid = 0;
+ inode->i_gid = 0;
+@@ -453,14 +455,27 @@ static int remove_file(struct dentry *pa
+ goto bail;
+ }
+
++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,36))
++ spin_lock(&dcache_lock);
++#endif
+ spin_lock(&tmp->d_lock);
+ if (!(d_unhashed(tmp) && tmp->d_inode)) {
++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,36))
++ dget_locked(tmp);
++#else
+ dget_dlock(tmp);
++#endif
+ __d_drop(tmp);
+ spin_unlock(&tmp->d_lock);
++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,36))
++ spin_unlock(&dcache_lock);
++#endif
+ simple_unlink(parent->d_inode, tmp);
+ } else {
+ spin_unlock(&tmp->d_lock);
++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,36))
++ spin_unlock(&dcache_lock);
++#endif
+ }
+
+ ret = 0;
+@@ -552,6 +567,7 @@ bail:
+ return ret;
+ }
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,36))
+ static struct dentry *qibfs_mount(struct file_system_type *fs_type, int flags,
+ const char *dev_name, void *data)
+ {
+@@ -559,6 +575,15 @@ static struct dentry *qibfs_mount(struct
+ ret = mount_single(fs_type, flags, data, qibfs_fill_super);
+ if (!IS_ERR(ret))
+ qib_super = ret->d_sb;
++#else
++static struct dentry *qibfs_get_sb(struct file_system_type *fs_type, int flags,
++ const char *dev_name, void *data, struct vfsmount *mnt)
++{
++ int ret = get_sb_single(fs_type, flags, data,
++ qibfs_fill_super, mnt);
++ if (ret >= 0)
++ qib_super = mnt->mnt_sb;
++#endif
+ return ret;
+ }
+
+@@ -600,7 +625,11 @@ int qibfs_remove(struct qib_devdata *dd)
+ static struct file_system_type qibfs_fs_type = {
+ .owner = THIS_MODULE,
+ .name = "ipathfs",
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,36))
+ .mount = qibfs_mount,
++#else
++ .get_sb = qibfs_get_sb,
++#endif
+ .kill_sb = qibfs_kill_super,
+ };
+