* 'bkl-removal' of git://git.lwn.net/linux-2.6: (146 commits)
  IB/umad: BKL is not needed for ib_umad_open()
  IB/uverbs: BKL is not needed for ib_uverbs_open()
  bf561-coreb: BKL unneeded for open()
  Call fasync() functions without the BKL
  snd/PCM: fasync BKL pushdown
  ipmi: fasync BKL pushdown
  ecryptfs: fasync BKL pushdown
  Bluetooth VHCI: fasync BKL pushdown
  tty_io: fasync BKL pushdown
  tun: fasync BKL pushdown
  i2o: fasync BKL pushdown
  mpt: fasync BKL pushdown
  Remove BKL from remote_llseek v2
  Make FAT users happier by not deadlocking
  x86-mce: BKL pushdown
  vmwatchdog: BKL pushdown
  vmcp: BKL pushdown
  via-pmu: BKL pushdown
  uml-random: BKL pushdown
  uml-mmapper: BKL pushdown
  ...
17 files changed:
  #include <linux/proc_fs.h>
  #include <linux/poll.h>
  #include <linux/pci.h>
+ #include <linux/smp_lock.h>
  #include <linux/workqueue.h>
  
 -#define IN_CARD_SERVICES
  #include <pcmcia/cs_types.h>
  #include <pcmcia/cs.h>
  #include <pcmcia/cistpl.h>
 
                rc = -EIO;
                goto out_path;
        }
 -      P_INFO("open, established connection to *MONITOR service\n\n");
        filp->private_data = monpriv;
+       unlock_kernel();
        return nonseekable_open(inode, filp);
  
  out_path: