USB code breaks in 4.9-RC1?
Thomas Quinot
thomas at FreeBSD.ORG
Tue Oct 7 08:31:02 PDT 2003
Le 2003-10-07, Alexandre Kardanev écrivait :
> After 4.8 prerelease inserting it will immediately crash my Compaq
> Descpro-P400
The patch below, which I just posted to scsi@, should at least prevent
the panic. Please try it and let me know if it indeed helps.
Thomas.
Index: scsi_da.c
===================================================================
RCS file: /home/ncvs/src/sys/cam/scsi/scsi_da.c,v
retrieving revision 1.159
diff -u -r1.159 scsi_da.c
--- scsi_da.c 4 Sep 2003 01:01:20 -0000 1.159
+++ scsi_da.c 7 Oct 2003 14:48:26 -0000
@@ -89,7 +89,8 @@
DA_FLAG_NEED_OTAG = 0x020,
DA_FLAG_WENT_IDLE = 0x040,
DA_FLAG_RETRY_UA = 0x080,
- DA_FLAG_OPEN = 0x100
+ DA_FLAG_OPEN = 0x100,
+ DA_FLAG_SCTX_INIT = 0x200
} da_flags;
typedef enum {
@@ -838,7 +839,8 @@
/*
* If we can't free the sysctl tree, oh well...
*/
- if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) {
+ if ((softc->flags & DA_FLAG_SCTX_INIT) != 0
+ && sysctl_ctx_free(&softc->sysctl_ctx) != 0) {
xpt_print_path(periph->path);
printf("can't remove sysctl context\n");
}
@@ -925,6 +927,7 @@
mtx_lock(&Giant);
sysctl_ctx_init(&softc->sysctl_ctx);
+ softc->flags |= DA_FLAG_SCTX_INIT;
softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx,
SYSCTL_STATIC_CHILDREN(_kern_cam_da), OID_AUTO, tmpstr2,
CTLFLAG_RD, 0, tmpstr);
--
Thomas.Quinot at Cuivre.FR.EU.ORG
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20031007/f52aa2f7/attachment-0001.bin
More information about the freebsd-stable
mailing list