Author: avg
Date: Tue Sep  8 06:19:23 2020
New Revision: 365447
URL: https://svnweb.freebsd.org/changeset/base/365447

Log:
  mmc_da: universally use uint8_t for the partition index
  
  Also, assert in sdda_init_switch_part() that the index is within the
  defined range.
  
  MFC after:    1 week

Modified:
  head/sys/cam/mmc/mmc_da.c

Modified: head/sys/cam/mmc/mmc_da.c
==============================================================================
--- head/sys/cam/mmc/mmc_da.c   Tue Sep  8 06:18:34 2020        (r365446)
+++ head/sys/cam/mmc/mmc_da.c   Tue Sep  8 06:19:23 2020        (r365447)
@@ -182,7 +182,6 @@ static void sdda_start_init(void *context, union ccb *
 static void sdda_start_init_task(void *context, int pending);
 static void sdda_process_mmc_partitions(struct cam_periph *periph, union ccb 
*start_ccb);
 static uint32_t sdda_get_host_caps(struct cam_periph *periph, union ccb *ccb);
-static void sdda_init_switch_part(struct cam_periph *periph, union ccb 
*start_ccb, u_int part);
 static int mmc_select_card(struct cam_periph *periph, union ccb *ccb, uint32_t 
rca);
 static inline uint32_t mmc_get_sector_size(struct cam_periph *periph) {return 
MMC_SECTOR_SIZE;}
 
@@ -1770,10 +1769,13 @@ sdda_process_mmc_partitions(struct cam_periph *periph,
  * This function cannot fail, instead check switch errors in sddadone().
  */
 static void
-sdda_init_switch_part(struct cam_periph *periph, union ccb *start_ccb, u_int 
part) {
+sdda_init_switch_part(struct cam_periph *periph, union ccb *start_ccb,
+    uint8_t part)
+{
        struct sdda_softc *sc = (struct sdda_softc *)periph->softc;
        uint8_t value;
 
+       KASSERT(part < MMC_PART_MAX, ("%s: invalid partition index", __func__));
        sc->part_requested = part;
 
        value = (sc->raw_ext_csd[EXT_CSD_PART_CONFIG] &
@@ -1797,7 +1799,7 @@ sddastart(struct cam_periph *periph, union ccb *start_
        struct sdda_softc *softc = (struct sdda_softc *)periph->softc;
        struct sdda_part *part;
        struct mmc_params *mmcp = &periph->path->device->mmc_ident_data;
-       int part_index;
+       uint8_t part_index;
 
        CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("sddastart\n"));
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to