diff options
Diffstat (limited to 'sys/dev/cfi/cfi_disk.c')
-rw-r--r-- | sys/dev/cfi/cfi_disk.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/cfi/cfi_disk.c b/sys/dev/cfi/cfi_disk.c index 723d1ae..f5bcb1b 100644 --- a/sys/dev/cfi/cfi_disk.c +++ b/sys/dev/cfi/cfi_disk.c @@ -292,14 +292,13 @@ cfi_disk_getattr(struct bio *bp) sc = dsc->parent; dev = sc->sc_dev; - do { - if (g_handleattr(bp, "CFI::device", &dev, sizeof(device_t))) - break; - - return (ERESTART); - } while(0); - - return (EJUSTRETURN); + if (strcmp(bp->bio_attribute, "CFI::device") == 0) { + if (bp->bio_length != sizeof(dev)) + return (EFAULT); + bcopy(&dev, bp->bio_data, sizeof(dev)); + } else + return (-1); + return (0); } |