mcd.c (130585) | mcd.c (137045) |
---|---|
1/* 2 * Copyright 1993 by Holger Veit (data part) 3 * Copyright 1993 by Brian Moore (audio part) 4 * Changes Copyright 1993 by Gary Clark II 5 * Changes Copyright (C) 1994-1995 by Andrey A. Chernov, Moscow, Russia 6 * 7 * Rewrote probe routine to work on newer Mitsumi drives. 8 * Additional changes (C) 1994 by Jordan K. Hubbard --- 29 unchanged lines hidden (view full) --- 38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 39 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 41 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42 * 43 */ 44 45#include <sys/cdefs.h> | 1/* 2 * Copyright 1993 by Holger Veit (data part) 3 * Copyright 1993 by Brian Moore (audio part) 4 * Changes Copyright 1993 by Gary Clark II 5 * Changes Copyright (C) 1994-1995 by Andrey A. Chernov, Moscow, Russia 6 * 7 * Rewrote probe routine to work on newer Mitsumi drives. 8 * Additional changes (C) 1994 by Jordan K. Hubbard --- 29 unchanged lines hidden (view full) --- 38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 39 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 41 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42 * 43 */ 44 45#include <sys/cdefs.h> |
46__FBSDID("$FreeBSD: head/sys/dev/mcd/mcd.c 130585 2004-06-16 09:47:26Z phk $"); | 46__FBSDID("$FreeBSD: head/sys/dev/mcd/mcd.c 137045 2004-10-29 11:09:21Z phk $"); |
47static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; 48 49#include <sys/param.h> 50#include <sys/systm.h> 51#include <sys/kernel.h> 52#include <sys/conf.h> 53#include <sys/fcntl.h> 54#include <sys/bio.h> --- 197 unchanged lines hidden (view full) --- 252 return (ENXIO); 253 } 254 255 if (mcd_size(dev) < 0) { 256 device_printf(sc->dev, "failed to get disk size\n"); 257 return (ENXIO); 258 } 259 | 47static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; 48 49#include <sys/param.h> 50#include <sys/systm.h> 51#include <sys/kernel.h> 52#include <sys/conf.h> 53#include <sys/fcntl.h> 54#include <sys/bio.h> --- 197 unchanged lines hidden (view full) --- 252 return (ENXIO); 253 } 254 255 if (mcd_size(dev) < 0) { 256 device_printf(sc->dev, "failed to get disk size\n"); 257 return (ENXIO); 258 } 259 |
260 dev->si_bsize_phys = sc->data.blksize; 261 | |
262 sc->data.openflags = 1; 263 sc->data.partflags |= MCDREADRAW; 264 sc->data.flags |= MCDVALID; 265 266 (void) mcd_lock_door(sc, MCD_LK_LOCK); 267 if (!(sc->data.flags & MCDVALID)) 268 return (ENXIO); 269 --- 72 unchanged lines hidden (view full) --- 342 struct bio *bp; 343 int s = splbio(); 344 345 if (sc->data.flags & MCDMBXBSY) { 346 splx(s); 347 return; 348 } 349 | 260 sc->data.openflags = 1; 261 sc->data.partflags |= MCDREADRAW; 262 sc->data.flags |= MCDVALID; 263 264 (void) mcd_lock_door(sc, MCD_LK_LOCK); 265 if (!(sc->data.flags & MCDVALID)) 266 return (ENXIO); 267 --- 72 unchanged lines hidden (view full) --- 340 struct bio *bp; 341 int s = splbio(); 342 343 if (sc->data.flags & MCDMBXBSY) { 344 splx(s); 345 return; 346 } 347 |
350 bp = bioq_first(&sc->data.head); | 348 bp = bioq_takefirst(&sc->data.head); |
351 if (bp != 0) { 352 /* block found to process, dequeue */ 353 /*MCD_TRACE("mcd_start: found block bp=0x%x\n",bp,0,0,0);*/ | 349 if (bp != 0) { 350 /* block found to process, dequeue */ 351 /*MCD_TRACE("mcd_start: found block bp=0x%x\n",bp,0,0,0);*/ |
354 bioq_remove(&sc->data.head, bp); | |
355 sc->data.flags |= MCDMBXBSY; 356 splx(s); 357 } else { 358 /* nothing to do */ 359 splx(s); 360 return; 361 } 362 --- 1237 unchanged lines hidden --- | 352 sc->data.flags |= MCDMBXBSY; 353 splx(s); 354 } else { 355 /* nothing to do */ 356 splx(s); 357 return; 358 } 359 --- 1237 unchanged lines hidden --- |