DVD/CD lost after r246713

Konstantin Belousov kostikbel at gmail.com
Fri Feb 22 20:34:24 UTC 2013


On Fri, Feb 22, 2013 at 10:59:11AM -0600, Nathan Whitehorn wrote:
> On 02/22/13 06:08, Claude Buisson wrote:
> > On 02/22/2013 09:21, Konstantin Belousov wrote:
> >
> > <skipped>
> >
> >> You need to provide the dmesg from r246713 and r246712 to compare.
> >> The note that r246711 snapshot exhibited this same problem makes
> >> me sceptical.
> >
> > Here are the verbose dmesg from r246712 and r246713;
> >
> > For the sceptical:
> >
> > root at fidel# cd /usr/src
> > root at fidel# grep "\$FreeBSD\:" sys/conf/files
> > # $FreeBSD: head/sys/conf/files 246586 2013-02-09 06:39:28Z delphij $
> > root at fidel# grep "\$FreeBSD\:" sys/ia64/ia64/dump_machdep.c
> > __FBSDID("$FreeBSD: head/sys/ia64/ia64/dump_machdep.c 246712 2013-02-12
> > 16:51:43Z marcel $");
> >
> > for r246712
> >
> > root at fidel# cd /usr/src
> > root at fidel# grep "\$FreeBSD\:" sys/conf/files
> > # $FreeBSD: head/sys/conf/files 246713 2013-02-12 16:57:20Z kib $
> > root at fidel# grep "\$FreeBSD\:" sys/ia64/include/proc.h
> >  * $FreeBSD: head/sys/ia64/include/proc.h 226112 2011-10-07 16:09:44Z 
> > kib $
> >
> > for r246713
> >
> > The source is from svn0.us-east.freebsd.org
> >
> > And obj/ has been rm'ed before each buildkernel
> >
> > My own conclusion is that the rev number in:
> >
> > FreeBSD-10.0-HEAD-r246711-JPSNAP-i386-i386-memstick.img
> >
> > is bogus, and this can be easily checked by grepping for 
> > kern/subr_bus_dma.c in
> > the BUILD.log as this file has been ADDED by r246713
> >
> > CBu (working on this since Tuesday)
> 
> For whatever it is worth, I have experienced the identical problem on an 
> amd64 system.

I see.
Could please, one of you try the following, which just a revert of
the r246713 for dev/ata ? I believe/hope that this should fix the
issue. Apply in the sys/dev/ata directory.

Index: ata-dma.c
===================================================================
--- ata-dma.c	(revision 246713)
+++ ata-dma.c	(revision 246712)
@@ -304,17 +304,10 @@ ata_dmaload(struct ata_request *request, void *add
     else
 	dspa.dmatab = request->dma->sg;
 
-#ifdef ATA_CAM
-    if (request->ccb)
-        error = bus_dmamap_load_ccb(request->dma->data_tag,
-				request->dma->data_map, request->ccb,
-				ch->dma.setprd, &dspa, BUS_DMA_NOWAIT);
-    else
-#endif
-        error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map,
-				request->data, request->bytecount,
-				ch->dma.setprd, &dspa, BUS_DMA_NOWAIT);
-    if (error || (error = dspa.error)) {
+    if ((error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map,
+				 request->data, request->bytecount,
+				 ch->dma.setprd, &dspa, BUS_DMA_NOWAIT)) ||
+				 (error = dspa.error)) {
 	device_printf(request->parent, "FAILURE - load data\n");
 	goto error;
     }
Index: atapi-cam.c
===================================================================
--- atapi-cam.c	(revision 246713)
+++ atapi-cam.c	(revision 246712)
@@ -514,6 +514,12 @@ atapi_action(struct cam_sim *sim, union ccb *ccb)
 		("CAM CCB too long for ATAPI"));
 	    goto action_invalid;
 	}
+	if ((ccb_h->flags & CAM_SCATTER_VALID)) {
+	    /* scatter-gather not supported */
+	    xpt_print_path(ccb_h->path);
+	    printf("ATAPI/CAM does not support scatter-gather yet!\n");
+	    goto action_invalid;
+	}
 
 	switch (ccb_h->flags & CAM_DIR_MASK) {
 	case CAM_DIR_IN:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130222/13cf9fb0/attachment.sig>


More information about the freebsd-current mailing list