Author: tsoome
Date: Thu Jan  9 21:37:50 2020
New Revision: 356571
URL: https://svnweb.freebsd.org/changeset/base/356571

Log:
  MFC r356570:
  loader: bioscd probe can get sector size 0
  
  With buggy BIOS, it may happen we get sector size reported 0 for cd, and then
  the default 512 is used, which is quite wrong.
  
  PR:           238749

Modified:
  stable/12/stand/i386/libi386/biosdisk.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/stand/i386/libi386/biosdisk.c
==============================================================================
--- stable/12/stand/i386/libi386/biosdisk.c     Thu Jan  9 21:21:08 2020        
(r356570)
+++ stable/12/stand/i386/libi386/biosdisk.c     Thu Jan  9 21:37:50 2020        
(r356571)
@@ -380,7 +380,8 @@ bc_add(int biosdev)
                return (-1);
 
        bd->bd_flags = BD_CDROM;
-        bd->bd_unit = biosdev;
+       bd->bd_unit = biosdev;
+       bd->bd_sectorsize = 2048;
 
        /*
         * Ignore result from bd_int13probe(), we will use local
@@ -548,7 +549,8 @@ bd_int13probe(bdinfo_t *bd)
                bd->bd_flags |= BD_MODEEDD3;
 
        /* Default sector size */
-       bd->bd_sectorsize = BIOSDISK_SECSIZE;
+       if (bd->bd_sectorsize == 0)
+               bd->bd_sectorsize = BIOSDISK_SECSIZE;
 
        /*
         * Test if the floppy device is present, so we can avoid receiving
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to