ata-lowlevel.c (121910) | ata-lowlevel.c (123127) |
---|---|
1/*- 2 * Copyright (c) 1998 - 2003 S�ren Schmidt <sos@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1998 - 2003 S�ren Schmidt <sos@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29#include <sys/cdefs.h> |
30__FBSDID("$FreeBSD: head/sys/dev/ata/ata-lowlevel.c 121910 2003-11-02 22:04:53Z sos $"); | 30__FBSDID("$FreeBSD: head/sys/dev/ata/ata-lowlevel.c 123127 2003-12-03 15:32:53Z sos $"); |
31 32#include "opt_ata.h" 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/ata.h> 36#include <sys/kernel.h> 37#include <sys/conf.h> 38#include <sys/bus.h> --- 531 unchanged lines hidden (view full) --- 570 ch->devices |= ATA_ATA_MASTER; 571 } 572 } 573 else if ((stat0 & 0x4f) && err == lsb && err == msb) { 574 stat0 |= ATA_S_BUSY; 575 } 576 } 577 } | 31 32#include "opt_ata.h" 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/ata.h> 36#include <sys/kernel.h> 37#include <sys/conf.h> 38#include <sys/bus.h> --- 531 unchanged lines hidden (view full) --- 570 ch->devices |= ATA_ATA_MASTER; 571 } 572 } 573 else if ((stat0 & 0x4f) && err == lsb && err == msb) { 574 stat0 |= ATA_S_BUSY; 575 } 576 } 577 } |
578 if (stat1 & ATA_S_BUSY) { | 578 if (!((mask == 0x03) && (stat0 & ATA_S_BUSY)) && (stat1 & ATA_S_BUSY)) { |
579 ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_SLAVE); 580 DELAY(10); 581 err = ATA_IDX_INB(ch, ATA_ERROR); 582 lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); 583 msb = ATA_IDX_INB(ch, ATA_CYL_MSB); 584 stat1 = ATA_IDX_INB(ch, ATA_STATUS); 585 if (bootverbose) 586 ata_printf(ch, ATA_SLAVE, --- 262 unchanged lines hidden --- | 579 ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_SLAVE); 580 DELAY(10); 581 err = ATA_IDX_INB(ch, ATA_ERROR); 582 lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); 583 msb = ATA_IDX_INB(ch, ATA_CYL_MSB); 584 stat1 = ATA_IDX_INB(ch, ATA_STATUS); 585 if (bootverbose) 586 ata_printf(ch, ATA_SLAVE, --- 262 unchanged lines hidden --- |