static inline int snd_rawmidi_ready(struct snd_rawmidi_substream *substream)
 {
        struct snd_rawmidi_runtime *runtime = substream->runtime;
+
        return runtime->avail >= runtime->avail_min;
 }
 
                                           size_t count)
 {
        struct snd_rawmidi_runtime *runtime = substream->runtime;
+
        return runtime->avail >= runtime->avail_min &&
               (!substream->append || runtime->avail >= count);
 }
 {
        struct snd_rawmidi_runtime *runtime =
                container_of(work, struct snd_rawmidi_runtime, event_work);
+
        if (runtime->event)
                runtime->event(runtime->substream);
 }
 {
        struct snd_rawmidi_runtime *runtime;
 
-       if ((runtime = kzalloc(sizeof(*runtime), GFP_KERNEL)) == NULL)
+       runtime = kzalloc(sizeof(*runtime), GFP_KERNEL);
+       if (!runtime)
                return -ENOMEM;
        runtime->substream = substream;
        spin_lock_init(&runtime->lock);
                runtime->avail = 0;
        else
                runtime->avail = runtime->buffer_size;
-       if ((runtime->buffer = kmalloc(runtime->buffer_size, GFP_KERNEL)) == NULL) {
+       runtime->buffer = kmalloc(runtime->buffer_size, GFP_KERNEL);
+       if (!runtime->buffer) {
                kfree(runtime);
                return -ENOMEM;
        }
        return 0;
 }
 
-static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up)
+static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream, int up)
 {
        if (!substream->opened)
                return;
 
 /* called from sound/core/seq/seq_midi.c */
 int snd_rawmidi_kernel_open(struct snd_card *card, int device, int subdevice,
-                           int mode, struct snd_rawmidi_file * rfile)
+                           int mode, struct snd_rawmidi_file *rfile)
 {
        struct snd_rawmidi *rmidi;
        int err;
        struct snd_rawmidi_file *rawmidi_file = NULL;
        wait_queue_entry_t wait;
 
-       if ((file->f_flags & O_APPEND) && !(file->f_flags & O_NONBLOCK)) 
+       if ((file->f_flags & O_APPEND) && !(file->f_flags & O_NONBLOCK))
                return -EINVAL;         /* invalid combination */
 
        err = nonseekable_open(inode, file);
 
        if (snd_BUG_ON(!rfile))
                return -ENXIO;
-       
+
        rmidi = rfile->rmidi;
        rawmidi_release_priv(rfile);
        module_put(rmidi->card->module);
                            struct snd_rawmidi_info *info)
 {
        struct snd_rawmidi *rmidi;
-       
+
        if (substream == NULL)
                return -ENODEV;
        rmidi = substream->rmidi;
 }
 
 static int snd_rawmidi_info_user(struct snd_rawmidi_substream *substream,
-                                struct snd_rawmidi_info __user * _info)
+                                struct snd_rawmidi_info __user *_info)
 {
        struct snd_rawmidi_info info;
        int err;
-       if ((err = snd_rawmidi_info(substream, &info)) < 0)
+
+       err = snd_rawmidi_info(substream, &info);
+       if (err < 0)
                return err;
        if (copy_to_user(_info, &info, sizeof(struct snd_rawmidi_info)))
                return -EFAULT;
 {
        int err;
        struct snd_rawmidi_info info;
+
        if (get_user(info.device, &_info->device))
                return -EFAULT;
        if (get_user(info.stream, &_info->stream))
                return -EFAULT;
        if (get_user(info.subdevice, &_info->subdevice))
                return -EFAULT;
-       if ((err = snd_rawmidi_info_select(card, &info)) < 0)
+       err = snd_rawmidi_info_select(card, &info);
+       if (err < 0)
                return err;
        if (copy_to_user(_info, &info, sizeof(struct snd_rawmidi_info)))
                return -EFAULT;
 }
 
 int snd_rawmidi_output_params(struct snd_rawmidi_substream *substream,
-                             struct snd_rawmidi_params * params)
+                             struct snd_rawmidi_params *params)
 {
        char *newbuf, *oldbuf;
        struct snd_rawmidi_runtime *runtime = substream->runtime;
-       
+
        if (substream->append && substream->use_count > 1)
                return -EBUSY;
        snd_rawmidi_drain_output(substream);
-       if (params->buffer_size < 32 || params->buffer_size > 1024L * 1024L) {
+       if (params->buffer_size < 32 || params->buffer_size > 1024L * 1024L)
                return -EINVAL;
-       }
-       if (params->avail_min < 1 || params->avail_min > params->buffer_size) {
+       if (params->avail_min < 1 || params->avail_min > params->buffer_size)
                return -EINVAL;
-       }
        if (params->buffer_size != runtime->buffer_size) {
                newbuf = kmalloc(params->buffer_size, GFP_KERNEL);
                if (!newbuf)
 EXPORT_SYMBOL(snd_rawmidi_output_params);
 
 int snd_rawmidi_input_params(struct snd_rawmidi_substream *substream,
-                            struct snd_rawmidi_params * params)
+                            struct snd_rawmidi_params *params)
 {
        char *newbuf, *oldbuf;
        struct snd_rawmidi_runtime *runtime = substream->runtime;
 
        snd_rawmidi_drain_input(substream);
-       if (params->buffer_size < 32 || params->buffer_size > 1024L * 1024L) {
+       if (params->buffer_size < 32 || params->buffer_size > 1024L * 1024L)
                return -EINVAL;
-       }
-       if (params->avail_min < 1 || params->avail_min > params->buffer_size) {
+       if (params->avail_min < 1 || params->avail_min > params->buffer_size)
                return -EINVAL;
-       }
        if (params->buffer_size != runtime->buffer_size) {
                newbuf = kmalloc(params->buffer_size, GFP_KERNEL);
                if (!newbuf)
 EXPORT_SYMBOL(snd_rawmidi_input_params);
 
 static int snd_rawmidi_output_status(struct snd_rawmidi_substream *substream,
-                                    struct snd_rawmidi_status * status)
+                                    struct snd_rawmidi_status *status)
 {
        struct snd_rawmidi_runtime *runtime = substream->runtime;
 
 }
 
 static int snd_rawmidi_input_status(struct snd_rawmidi_substream *substream,
-                                   struct snd_rawmidi_status * status)
+                                   struct snd_rawmidi_status *status)
 {
        struct snd_rawmidi_runtime *runtime = substream->runtime;
 
        {
                int stream;
                struct snd_rawmidi_info __user *info = argp;
+
                if (get_user(stream, &info->stream))
                        return -EFAULT;
                switch (stream) {
        case SNDRV_RAWMIDI_IOCTL_PARAMS:
        {
                struct snd_rawmidi_params params;
+
                if (copy_from_user(¶ms, argp, sizeof(struct snd_rawmidi_params)))
                        return -EFAULT;
                switch (params.stream) {
        {
                int err = 0;
                struct snd_rawmidi_status status;
+
                if (copy_from_user(&status, argp, sizeof(struct snd_rawmidi_status)))
                        return -EFAULT;
                switch (status.stream) {
        case SNDRV_RAWMIDI_IOCTL_DROP:
        {
                int val;
+
                if (get_user(val, (int __user *) argp))
                        return -EFAULT;
                switch (val) {
        case SNDRV_RAWMIDI_IOCTL_DRAIN:
        {
                int val;
+
                if (get_user(val, (int __user *) argp))
                        return -EFAULT;
                switch (val) {
        case SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE:
        {
                int device;
-               
+
                if (get_user(device, (int __user *)argp))
                        return -EFAULT;
                if (device >= SNDRV_RAWMIDI_DEVICES) /* next device is -1 */
        case SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE:
        {
                int val;
-               
+
                if (get_user(val, (int __user *)argp))
                        return -EFAULT;
                control->preferred_subdevice[SND_CTL_SUBDEV_RAWMIDI] = val;
                spin_lock_irq(&runtime->lock);
                while (!snd_rawmidi_ready(substream)) {
                        wait_queue_entry_t wait;
+
                        if ((file->f_flags & O_NONBLOCK) != 0 || result > 0) {
                                spin_unlock_irq(&runtime->lock);
                                return result > 0 ? result : -EAGAIN;
        spin_lock_irqsave(&runtime->lock, flags);
        result = runtime->avail >= runtime->buffer_size;
        spin_unlock_irqrestore(&runtime->lock, flags);
-       return result;          
+       return result;
 }
 EXPORT_SYMBOL(snd_rawmidi_transmit_empty);
 
  * @substream: the rawmidi substream
  * @buffer: the buffer pointer
  * @count: the data size to transfer
- * 
+ *
  * Copies data from the buffer to the device and advances the pointer.
  *
  * Return: The copied size if successful, or a negative error code on failure.
                spin_lock_irq(&runtime->lock);
                while (!snd_rawmidi_ready_append(substream, count)) {
                        wait_queue_entry_t wait;
+
                        if (file->f_flags & O_NONBLOCK) {
                                spin_unlock_irq(&runtime->lock);
                                return result > 0 ? result : -EAGAIN;
                while (runtime->avail != runtime->buffer_size) {
                        wait_queue_entry_t wait;
                        unsigned int last_avail = runtime->avail;
+
                        init_waitqueue_entry(&wait, current);
                        add_wait_queue(&runtime->sleep, &wait);
                        set_current_state(TASK_INTERRUPTIBLE);
        return result;
 }
 
-static __poll_t snd_rawmidi_poll(struct file *file, poll_table * wait)
+static __poll_t snd_rawmidi_poll(struct file *file, poll_table *wait)
 {
        struct snd_rawmidi_file *rfile;
        struct snd_rawmidi_runtime *runtime;
 #endif
 
 /*
-
  */
 
 static void snd_rawmidi_proc_info_read(struct snd_info_entry *entry,
  *  Register functions
  */
 
-static const struct file_operations snd_rawmidi_f_ops =
-{
+static const struct file_operations snd_rawmidi_f_ops = {
        .owner =        THIS_MODULE,
        .read =         snd_rawmidi_read,
        .write =        snd_rawmidi_write,
  */
 int snd_rawmidi_new(struct snd_card *card, char *id, int device,
                    int output_count, int input_count,
-                   struct snd_rawmidi ** rrawmidi)
+                   struct snd_rawmidi **rrawmidi)
 {
        struct snd_rawmidi *rmidi;
        int err;
        rmidi->dev.release = release_rawmidi_device;
        dev_set_name(&rmidi->dev, "midiC%iD%i", card->number, device);
 
-       if ((err = snd_rawmidi_alloc_substreams(rmidi,
-                                               &rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT],
-                                               SNDRV_RAWMIDI_STREAM_INPUT,
-                                               input_count)) < 0) {
+       err = snd_rawmidi_alloc_substreams(rmidi,
+                                          &rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT],
+                                          SNDRV_RAWMIDI_STREAM_INPUT,
+                                          input_count);
+       if (err < 0) {
                snd_rawmidi_free(rmidi);
                return err;
        }
-       if ((err = snd_rawmidi_alloc_substreams(rmidi,
-                                               &rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT],
-                                               SNDRV_RAWMIDI_STREAM_OUTPUT,
-                                               output_count)) < 0) {
+       err = snd_rawmidi_alloc_substreams(rmidi,
+                                          &rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT],
+                                          SNDRV_RAWMIDI_STREAM_OUTPUT,
+                                          output_count);
+       if (err < 0) {
                snd_rawmidi_free(rmidi);
                return err;
        }
-       if ((err = snd_device_new(card, SNDRV_DEV_RAWMIDI, rmidi, &ops)) < 0) {
+       err = snd_device_new(card, SNDRV_DEV_RAWMIDI, rmidi, &ops);
+       if (err < 0) {
                snd_rawmidi_free(rmidi);
                return err;
        }
 static int snd_rawmidi_dev_free(struct snd_device *device)
 {
        struct snd_rawmidi *rmidi = device->device_data;
+
        return snd_rawmidi_free(rmidi);
 }
 
 static void snd_rawmidi_dev_seq_free(struct snd_seq_device *device)
 {
        struct snd_rawmidi *rmidi = device->private_data;
+
        rmidi->seq_dev = NULL;
 }
 #endif
        list_del_init(&rmidi->list);
        for (dir = 0; dir < 2; dir++) {
                struct snd_rawmidi_substream *s;
+
                list_for_each_entry(s, &rmidi->streams[dir].substreams, list) {
                        if (s->runtime)
                                wake_up(&s->runtime->sleep);
                         const struct snd_rawmidi_ops *ops)
 {
        struct snd_rawmidi_substream *substream;
-       
+
        list_for_each_entry(substream, &rmidi->streams[stream].substreams, list)
                substream->ops = ops;
 }