sg.c (32032df6c2f6c9c6b2ada2ce42322231824f70c2) | sg.c (8a78362c4eefc1deddbefe2c7f38aabbc2429d6b) |
---|---|
1/* 2 * History: 3 * Started: Aug 9 by Lawrence Foard (entropy@world.std.com), 4 * to allow user process control of SCSI devices. 5 * Development Sponsored by Killy Corp. NY NY 6 * 7 * Original driver (sg.c): 8 * Copyright (C) 1992 Lawrence Foard --- 273 unchanged lines hidden (view full) --- 282 } 283 if (sdp->detached) { 284 retval = -ENODEV; 285 goto error_out; 286 } 287 if (list_empty(&sdp->sfds)) { /* no existing opens on this device */ 288 sdp->sgdebug = 0; 289 q = sdp->device->request_queue; | 1/* 2 * History: 3 * Started: Aug 9 by Lawrence Foard (entropy@world.std.com), 4 * to allow user process control of SCSI devices. 5 * Development Sponsored by Killy Corp. NY NY 6 * 7 * Original driver (sg.c): 8 * Copyright (C) 1992 Lawrence Foard --- 273 unchanged lines hidden (view full) --- 282 } 283 if (sdp->detached) { 284 retval = -ENODEV; 285 goto error_out; 286 } 287 if (list_empty(&sdp->sfds)) { /* no existing opens on this device */ 288 sdp->sgdebug = 0; 289 q = sdp->device->request_queue; |
290 sdp->sg_tablesize = min(queue_max_hw_segments(q), 291 queue_max_phys_segments(q)); | 290 sdp->sg_tablesize = queue_max_segments(q); |
292 } 293 if ((sfp = sg_add_sfp(sdp, dev))) 294 filp->private_data = sfp; 295 else { 296 if (flags & O_EXCL) { 297 sdp->exclude = 0; /* undo if error */ 298 wake_up_interruptible(&sdp->o_excl_wait); 299 } --- 1071 unchanged lines hidden (view full) --- 1371 1372 SCSI_LOG_TIMEOUT(3, printk("sg_alloc: dev=%d \n", k)); 1373 sprintf(disk->disk_name, "sg%d", k); 1374 disk->first_minor = k; 1375 sdp->disk = disk; 1376 sdp->device = scsidp; 1377 INIT_LIST_HEAD(&sdp->sfds); 1378 init_waitqueue_head(&sdp->o_excl_wait); | 291 } 292 if ((sfp = sg_add_sfp(sdp, dev))) 293 filp->private_data = sfp; 294 else { 295 if (flags & O_EXCL) { 296 sdp->exclude = 0; /* undo if error */ 297 wake_up_interruptible(&sdp->o_excl_wait); 298 } --- 1071 unchanged lines hidden (view full) --- 1370 1371 SCSI_LOG_TIMEOUT(3, printk("sg_alloc: dev=%d \n", k)); 1372 sprintf(disk->disk_name, "sg%d", k); 1373 disk->first_minor = k; 1374 sdp->disk = disk; 1375 sdp->device = scsidp; 1376 INIT_LIST_HEAD(&sdp->sfds); 1377 init_waitqueue_head(&sdp->o_excl_wait); |
1379 sdp->sg_tablesize = min(queue_max_hw_segments(q), 1380 queue_max_phys_segments(q)); | 1378 sdp->sg_tablesize = queue_max_segments(q); |
1381 sdp->index = k; 1382 kref_init(&sdp->d_ref); 1383 1384 write_unlock_irqrestore(&sg_index_lock, iflags); 1385 1386 error = 0; 1387 out: 1388 if (error) { --- 1221 unchanged lines hidden --- | 1379 sdp->index = k; 1380 kref_init(&sdp->d_ref); 1381 1382 write_unlock_irqrestore(&sg_index_lock, iflags); 1383 1384 error = 0; 1385 out: 1386 if (error) { --- 1221 unchanged lines hidden --- |