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) _at__at_ -304,17 +304,10 _at__at_ 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) _at__at_ -514,6 +514,12 _at__at_ 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:
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC