Module Name: src
Committed By: jdolecek
Date: Sun Feb 26 23:30:14 UTC 2017
Modified Files:
src/sys/dev/ic: bha.c bhareg.h
Log Message:
got 'bad mbi comp_stat 5' during DIOCGCACHE under Parallels, according
to linux driver it's possible status when controller thinks the CCB is invalid;
handle same as BHA_MBI_ABORT/BHA_MBI_UNKNOWN i.e. just clear the CCB anyway
To generate a diff of this commit:
cvs rdiff -u -r1.76 -r1.77 src/sys/dev/ic/bha.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/ic/bhareg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/bha.c
diff -u src/sys/dev/ic/bha.c:1.76 src/sys/dev/ic/bha.c:1.77
--- src/sys/dev/ic/bha.c:1.76 Thu Jul 14 04:19:27 2016
+++ src/sys/dev/ic/bha.c Sun Feb 26 23:30:14 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: bha.c,v 1.76 2016/07/14 04:19:27 msaitoh Exp $ */
+/* $NetBSD: bha.c,v 1.77 2017/02/26 23:30:14 jdolecek Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bha.c,v 1.76 2016/07/14 04:19:27 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bha.c,v 1.77 2017/02/26 23:30:14 jdolecek Exp $");
#include "opt_ddb.h"
@@ -1574,6 +1574,7 @@ bha_finish_ccbs(struct bha_softc *sc)
case BHA_MBI_ABORT:
case BHA_MBI_UNKNOWN:
+ case BHA_MBI_BADCCB:
/*
* Even if the CCB wasn't found, we clear it anyway.
* See preceding comment.
Index: src/sys/dev/ic/bhareg.h
diff -u src/sys/dev/ic/bhareg.h:1.20 src/sys/dev/ic/bhareg.h:1.21
--- src/sys/dev/ic/bhareg.h:1.20 Mon Apr 28 20:23:49 2008
+++ src/sys/dev/ic/bhareg.h Sun Feb 26 23:30:14 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: bhareg.h,v 1.20 2008/04/28 20:23:49 martin Exp $ */
+/* $NetBSD: bhareg.h,v 1.21 2017/02/26 23:30:14 jdolecek Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -166,6 +166,7 @@ struct bha_mbx_in {
#define BHA_MBI_ABORT 0x2 /* aborted ccb */
#define BHA_MBI_UNKNOWN 0x3 /* Tried to abort invalid CCB */
#define BHA_MBI_ERROR 0x4 /* Completed with error */
+#define BHA_MBI_BADCCB 0x5 /* invalid CCB */
#if defined(BIG_DMA)
WARNING...THIS WON'T WORK(won't fit on 1 page)