kern/127411: [ata] [panic] ata panics on bad block

Paul B. Mahol onemda at gmail.com
Thu Nov 27 07:17:45 PST 2008


Fixed by following change:

Date: Thu Nov 27 03:37:46 2008
New Revision: 185357
URL: http://svn.freebsd.org/changeset/base/185357

Log:
  Don't let ata_completed() dereference a null request->dma pointer to
  print dma status after a media error.

Modified:
  h
@@ -357,7 +357,7 @@ ata_completed(void *context, int dummy)
                              "\6MEDIA_CHANGED\5NID_NOT_FOUND"
                              "\4MEDIA_CHANGE_REQEST"
                              "\3ABORTED\2NO_MEDIA\1ILLEGAL_LENGTH");
-               if ((request->flags & ATA_R_DMA) &&
+               if ((request->flags & ATA_R_DMA) && request->dma &&
                    (request->dma->status & ATA_BMSTAT_ERROR))
                    printf(" dma=0x%02x", request->dma->status);
                if (!(request->flags & (ATA_R_ATAPI | ATA_R_CONTROL)))


-- 
Paul


More information about the freebsd-bugs mailing list