aoechr.c (fea05a26c3a215796b7a4fa5cbc25278d3e16d30) aoechr.c (0c966214589b9767fd8771b71328f83bac58cb25)
1/* Copyright (c) 2012 Coraid, Inc. See COPYING for GPL terms. */
2/*
3 * aoechr.c
4 * AoE character device driver
5 */
6
7#include <linux/hdreg.h>
8#include <linux/blkdev.h>

--- 77 unchanged lines hidden (view full) ---

86 if (copy_from_user(buf, str, size))
87 return -EFAULT;
88
89 n = sscanf(buf, "e%d.%d", &major, &minor);
90 if (n != 2) {
91 pr_err("aoe: invalid device specification %s\n", buf);
92 return -EINVAL;
93 }
1/* Copyright (c) 2012 Coraid, Inc. See COPYING for GPL terms. */
2/*
3 * aoechr.c
4 * AoE character device driver
5 */
6
7#include <linux/hdreg.h>
8#include <linux/blkdev.h>

--- 77 unchanged lines hidden (view full) ---

86 if (copy_from_user(buf, str, size))
87 return -EFAULT;
88
89 n = sscanf(buf, "e%d.%d", &major, &minor);
90 if (n != 2) {
91 pr_err("aoe: invalid device specification %s\n", buf);
92 return -EINVAL;
93 }
94 d = aoedev_by_aoeaddr(major, minor);
94 d = aoedev_by_aoeaddr(major, minor, 0);
95 if (!d)
96 return -EINVAL;
97 spin_lock_irqsave(&d->lock, flags);
98 aoecmd_cleanslate(d);
99 aoecmd_cfg(major, minor);
100loop:
101 skb = aoecmd_ata_id(d);
102 spin_unlock_irqrestore(&d->lock, flags);

--- 214 unchanged lines hidden ---
95 if (!d)
96 return -EINVAL;
97 spin_lock_irqsave(&d->lock, flags);
98 aoecmd_cleanslate(d);
99 aoecmd_cfg(major, minor);
100loop:
101 skb = aoecmd_ata_id(d);
102 spin_unlock_irqrestore(&d->lock, flags);

--- 214 unchanged lines hidden ---