kernel - Cleanup gcc warnings
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 7 Aug 2016 04:02:46 +0000 (21:02 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 7 Aug 2016 07:09:27 +0000 (00:09 -0700)
* Cleanup gcc warnings at higher optimization levels.  This will allow
  us to build kernels -O2 or -O3.

63 files changed:
sys/bus/cam/scsi/scsi_ses.c
sys/bus/smbus/amdsmb/amdsmb.c
sys/bus/u4b/wlan/if_run.c
sys/bus/u4b/wlan/if_urtwn.c
sys/contrib/dev/acpica/source/components/utilities/utresrc.c
sys/contrib/dev/ath/ath_hal/ar9300/ar9300_paprd.c
sys/cpu/x86_64/misc/db_disasm.c
sys/dev/acpica/acpi_hp/acpi_hp.c
sys/dev/disk/isp/ispmbox.h
sys/dev/disk/mpt/mpt.c
sys/dev/disk/nata/ata-raid.c
sys/dev/drm/drm_gem.c
sys/dev/drm/drm_irq.c
sys/dev/drm/i915/dvo_ch7xxx.c
sys/dev/drm/i915/dvo_ivch.c
sys/dev/drm/i915/dvo_sil164.c
sys/dev/drm/i915/dvo_tfp410.c
sys/dev/drm/i915/intel_ddi.c
sys/dev/drm/i915/intel_display.c
sys/dev/drm/radeon/atom.c
sys/dev/drm/radeon/evergreen.c
sys/dev/drm/radeon/radeon_i2c.c
sys/dev/drm/radeon/rs690.c
sys/dev/drm/radeon/rv515.c
sys/dev/drm/radeon/rv6xx_dpm.c
sys/dev/netif/ath/ath_hal/ar5210/ar5210_beacon.c
sys/dev/netif/ath/ath_hal/ar5210/ar5210_reset.c
sys/dev/netif/ath/ath_hal/ar5211/ar5211_beacon.c
sys/dev/netif/ath/ath_hal/ar5211/ar5211_reset.c
sys/dev/netif/ath/ath_hal/ar5212/ar2413.c
sys/dev/netif/ath/ath_hal/ar5212/ar2425.c
sys/dev/netif/ath/ath_hal/ar5212/ar5111.c
sys/dev/netif/ath/ath_hal/ar5212/ar5212_beacon.c
sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c
sys/dev/netif/ath/ath_hal/ar5212/ar5413.c
sys/dev/netif/ath/ath_hal/ar5416/ar5416_beacon.c
sys/dev/netif/ig_hal/e1000_ich8lan.c
sys/dev/netif/ig_hal/e1000_phy.c
sys/dev/netif/mxge/if_mxge.c
sys/dev/netif/xl/if_xl.c
sys/dev/raid/aac/aac.c
sys/dev/raid/amr/amr.c
sys/dev/raid/asr/i2omsg.h
sys/dev/raid/ciss/ciss.c
sys/dev/raid/mly/mly.c
sys/dev/raid/mps/mps_mapping.c
sys/dev/raid/vinum/vinumrevive.c
sys/dev/sound/pci/t4dwave.c
sys/dev/sound/pcm/dsp.c
sys/kern/kern_descrip.c
sys/kern/kern_dmsg.c
sys/kern/link_elf.c
sys/kern/subr_disk.c
sys/kern/uipc_syscalls.c
sys/net/pf/pf.c
sys/net/sppp/if_spppsubr.c
sys/netinet/in_pcb.c
sys/platform/pc64/vmm/vmm_utils.c
sys/vfs/hammer/hammer_volume.c
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/nfs/nfs_vfsops.c
sys/vfs/ntfs/ntfs_subr.c
sys/vfs/ufs/ffs_softdep.c

index 5485023..98aff92 100644 (file)
@@ -1213,6 +1213,7 @@ ses_getputstat(ses_softc_t *ssc, int objid, SesComStat *sp, int slp, int in)
        int err, amt, bufsiz, tidx, oidx;
        char cdb[6], *sdata;
 
+       bzero(sp, sizeof(*sp));
        cc = ssc->ses_private;
        if (cc == NULL) {
                return (ENXIO);
index c3db97d..93635c8 100644 (file)
@@ -237,7 +237,7 @@ amdsmb_ec_wait_read(struct amdsmb_softc *sc)
 static int
 amdsmb_ec_read(struct amdsmb_softc *sc, u_char addr, u_char *data)
 {
-
+       *data = 0;
        AMDSMB_LOCK_ASSERT(sc);
        if (amdsmb_ec_wait_write(sc))
                return (1);
@@ -293,6 +293,7 @@ amdsmb_wait(struct amdsmb_softc *sc)
                        return (SMB_ETIMEOUT);
        }
 
+       sts = 0;
        amdsmb_ec_read(sc, SMB_STS, &sts);
        sts &= SMB_STS_STATUS;
        AMDSMB_DEBUG(kprintf("amdsmb: STS=0x%x\n", sts));
index a3bc050..3116785 100644 (file)
@@ -1224,7 +1224,7 @@ static usb_error_t
 run_do_request(struct run_softc *sc,
     struct usb_device_request *req, void *data)
 {
-       usb_error_t err;
+       usb_error_t err = 0;    /* assign to whack bogus gcc warning */
        int ntries = 10;
 
        RUN_LOCK_ASSERT(sc, MA_OWNED);
@@ -1456,6 +1456,7 @@ run_rt3070_rf_read(struct run_softc *sc, uint8_t reg, uint8_t *val)
        uint32_t tmp;
        int error, ntries;
 
+       *val = 0;
        for (ntries = 0; ntries < 100; ntries++) {
                if ((error = run_read(sc, RT3070_RF_CSR_CFG, &tmp)) != 0)
                        return (error);
index 5de4527..39b65b4 100644 (file)
@@ -757,6 +757,7 @@ urtwn_do_request(struct urtwn_softc *sc, struct usb_device_request *req,
 
        URTWN_ASSERT_LOCKED(sc);
 
+       err = 0;        /* whack gcc warning */
        while (ntries--) {
                err = usbd_do_request_flags(sc->sc_udev, &sc->sc_mtx,
                    req, data, 0, NULL, 250 /* ms */);
index 8efae42..2de32b5 100644 (file)
@@ -595,6 +595,10 @@ AcpiUtValidateResource (
      * 1) Validate the ResourceType field (Byte 0)
      */
     ResourceType = ACPI_GET8 (Aml);
+    if (ReturnIndex)
+    {
+        *ReturnIndex = 0;      /* silence bogus gcc warning */
+    }
 
     /*
      * Byte 0 contains the descriptor name (Resource Type)
index d3ddf4a..4a18fea 100644 (file)
@@ -2198,6 +2198,7 @@ HAL_STATUS ar9300_paprd_create_curve(struct ath_hal * ah,
     if (AH9300(ah)->ah_tx_chainmask & (1 << chain_num)) {
         pa_table = &AH9300(ah)->pa_table[chain_num][0];
         /* Compute PA table and gain index */
+       small_signal_gain = 0;  /* avoid gcc warnings */
         status = ar9300_create_pa_curve(ah, &pa_table[0], &small_signal_gain, 
                     &pa_in[0]);
 
index 583f400..d2c9fc0 100644 (file)
@@ -1072,7 +1072,7 @@ db_disasm_esc(db_addr_t loc, int inst, int rex, int short_addr, int size,
        int             regmodrm;
        const struct finst *    fp;
        int             mod;
-       struct i_addr   address;
+       struct i_addr   address = { 0 };
        const char *    name;
 
        get_value_inc(regmodrm, loc, 1, FALSE);
@@ -1177,7 +1177,7 @@ db_disasm(db_addr_t loc, boolean_t altfmt, db_regs_t *dummy)
        int     imm2;
        long    imm64;
        int     len;
-       struct i_addr   address;
+       struct i_addr   address = { 0 };
 
        get_value_inc(inst, loc, 1, FALSE);
        short_addr = FALSE;
index 6e3dfb0..c510d91 100644 (file)
@@ -909,6 +909,7 @@ acpi_hp_get_cmi_block(device_t wmi_dev, const char* guid, UINT8 instance,
        char            string_buffer[size];
        int             enumbase;
 
+       *sequence = 0;  /* whack gcc warning */
        outlen = 0;
        outbuf[0] = 0;  
        if (ACPI_FAILURE(ACPI_WMI_GET_BLOCK(wmi_dev, guid, instance, &out))) {
index 29695f5..713bf3c 100644 (file)
@@ -1449,7 +1449,7 @@ typedef struct {
        uint16_t        snscb_addr[4];  /* response buffer address */
        uint16_t        snscb_sblen;    /* subcommand buffer length (words) */
        uint16_t        snscb_reserved1;
-       uint16_t        snscb_data[1];  /* variable data */
+       uint16_t        snscb_data[8];  /* variable data (avoid gcc warning) */
 } sns_screq_t; /* Subcommand Request Structure */
 
 typedef struct {
@@ -1510,7 +1510,7 @@ typedef struct {
        uint8_t         snscb_port_type;
        uint8_t         snscb_port_id[3];
        uint8_t         snscb_portname[8];
-       uint16_t        snscb_data[1];  /* variable data */
+       uint16_t        snscb_data[8];  /* variable data (avoid gcc warning) */
 } sns_scrsp_t; /* Subcommand Response Structure */
 
 typedef struct {
index a9bbe1b..95cb1c7 100644 (file)
@@ -1636,6 +1636,7 @@ mpt_read_extcfg_header(struct mpt_softc *mpt, int PageVersion, int PageNumber,
                return (ENOMEM);
        }
 
+       bzero(&params, sizeof(params));
        params.Action = MPI_CONFIG_ACTION_PAGE_HEADER;
        params.PageVersion = PageVersion;
        params.PageLength = 0;
@@ -1741,6 +1742,7 @@ mpt_read_cfg_header(struct mpt_softc *mpt, int PageType, int PageNumber,
                return (ENOMEM);
        }
 
+       bzero(&params, sizeof(params));
        params.Action = MPI_CONFIG_ACTION_PAGE_HEADER;
        params.PageVersion = 0;
        params.PageLength = 0;
@@ -1797,6 +1799,7 @@ mpt_read_cfg_page(struct mpt_softc *mpt, int Action, uint32_t PageAddress,
                return (-1);
        }
 
+       bzero(&params, sizeof(params));
        params.Action = Action;
        params.PageVersion = hdr->PageVersion;
        params.PageLength = hdr->PageLength;
@@ -1858,6 +1861,7 @@ mpt_write_cfg_page(struct mpt_softc *mpt, int Action, uint32_t PageAddress,
         * if you then mask them going down to issue the request.
         */
 
+       bzero(&params, sizeof(params));
        params.Action = Action;
        params.PageVersion = hdr->PageVersion;
        params.PageLength = hdr->PageLength;
index 95ba228..cfb071d 100644 (file)
@@ -2717,7 +2717,7 @@ ata_raid_jmicron_write_meta(struct ar_softc *rdp)
     strncpy(meta->name, rdp->name, sizeof(meta->name));
     meta->stripe_shift = ffs(rdp->interleave) - 2;
 
-    for (disk = 0; disk < rdp->total_disks; disk++) {
+    for (disk = 0; disk < rdp->total_disks && disk < JM_MAX_DISKS; disk++) {
        if (rdp->disks[disk].serial[0])
            bcopy(rdp->disks[disk].serial,&meta->disks[disk],sizeof(u_int32_t));
        else
index 9fa59fd..aca3727 100644 (file)
@@ -369,6 +369,7 @@ drm_gem_handle_create_tail(struct drm_file *file_priv,
        struct drm_device *dev = obj->dev;
        int ret;
 
+       *handlep = 0;           /* whack gcc warning */
        WARN_ON(!mutex_is_locked(&dev->object_name_lock));
 
        /*
index 9072b70..e3e564d 100644 (file)
@@ -924,6 +924,8 @@ u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
        int count = DRM_TIMESTAMP_MAXRETRIES;
        u32 cur_vblank;
 
+       vblanktime->tv_sec = 0;         /* silence gcc warning */
+       vblanktime->tv_usec = 0;        /* silence gcc warning */
        if (WARN_ON(pipe >= dev->num_crtcs))
                return 0;
 
index a25d855..e3b18fe 100644 (file)
@@ -155,6 +155,7 @@ static bool ch7xxx_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch)
                }
        };
 
+       *ch = 0;        /* silence gcc warning */
        out_buf[0] = addr;
        out_buf[1] = 0;
 
index 226e4a6..2add7c9 100644 (file)
@@ -216,6 +216,7 @@ static bool ivch_read(struct intel_dvo_device *dvo, int addr, uint16_t *data)
                }
        };
 
+       *data = 0;      /* silence gcc warnings */
        out_buf[0] = addr;
 
        sc = device_get_softc(adapter);
index cd455a5..f6ca1cb 100644 (file)
@@ -88,6 +88,7 @@ static bool sil164_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch)
                }
        };
 
+       *ch = 0;        /* silence gcc warnings */
        out_buf[0] = addr;
        out_buf[1] = 0;
 
index 93a637c..7d49a02 100644 (file)
@@ -113,6 +113,7 @@ static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch)
                }
        };
 
+       *ch = 0;        /* silence gcc warnings */
        out_buf[0] = addr;
        out_buf[1] = 0;
 
index b61ed8b..f773d39 100644 (file)
@@ -311,6 +311,9 @@ static void ddi_get_encoder_port(struct intel_encoder *intel_encoder,
 {
        struct drm_encoder *encoder = &intel_encoder->base;
 
+       *dig_port = 0;  /* silence gcc warnings */
+       *port = 0;      /* silence gcc warnings */
+
        switch (intel_encoder->type) {
        case INTEL_OUTPUT_DP_MST:
                *dig_port = enc_to_mst(encoder)->primary;
index 986220a..f0a65ed 100644 (file)
@@ -10693,6 +10693,7 @@ struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev,
         * Note, if LVDS ever uses a non-1 pixel multiplier, we'll need
         * to use a real value here instead.
         */
+       bzero(&pipe_config, sizeof(pipe_config));
        pipe_config.cpu_transcoder = (enum transcoder) pipe;
        pipe_config.pixel_multiplier = 1;
        pipe_config.dpll_hw_state.dpll = I915_READ(DPLL(pipe));
index 4498a49..73da113 100644 (file)
@@ -180,6 +180,10 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx, uint8_t attr,
        struct atom_context *gctx = ctx->ctx;
        arg = attr & 7;
        align = (attr >> 3) & 7;
+
+       if (saved)
+               *saved = 0;     /* avoid bogus gcc warning */
+
        switch (arg) {
        case ATOM_ARG_REG:
                idx = U16(*ptr);
index 20ae5e1..be749e4 100644 (file)
@@ -2521,6 +2521,7 @@ void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *sav
        u32 crtc_enabled, tmp, frame_count, blackout;
        int i, j;
 
+       bzero(save, sizeof(*save));     /* avoid gcc warning */
        if (!ASIC_IS_NODCE(rdev)) {
                save->vga_render_control = RREG32(VGA_RENDER_CONTROL);
                save->vga_hdp_control = RREG32(VGA_HDP_CONTROL);
index ad48303..1c78658 100644 (file)
@@ -1304,6 +1304,7 @@ void radeon_i2c_get_byte(struct radeon_i2c_chan *i2c_bus,
                *val = in_buf[0];
                DRM_DEBUG("val = 0x%02x\n", *val);
        } else {
+               *val = 0;       /* avoid gcc warning */
                DRM_DEBUG("i2c 0x%02x 0x%02x read failed\n",
                          addr, *val);
        }
index 03a7121..f9d31fa 100644 (file)
@@ -269,6 +269,7 @@ static void rs690_crtc_bandwidth_compute(struct radeon_device *rdev,
        fixed20_12 sclk, core_bandwidth, max_bandwidth;
        u32 selected_sclk;
 
+       bzero(wm, sizeof(*wm)); /* avoid gcc warning */
        if (!crtc->base.enabled) {
                /* FIXME: wouldn't it better to set priority mark to maximum */
                wm->lb_request_fifo_depth = 4;
index b076561..597e464 100644 (file)
@@ -956,6 +956,7 @@ static void rv515_crtc_bandwidth_compute(struct radeon_device *rdev,
        fixed20_12 sclk;
        u32 selected_sclk;
 
+       bzero(wm, sizeof(*wm)); /* avoid gcc warning */
        if (!crtc->base.enabled) {
                /* FIXME: wouldn't it better to set priority mark to maximum */
                wm->lb_request_fifo_depth = 4;
index c0a971e..fd8ee72 100644 (file)
@@ -142,6 +142,7 @@ static int rv6xx_convert_clock_to_stepping(struct radeon_device *rdev,
        int ret;
        struct atom_clock_dividers dividers;
 
+       bzero(&dividers, sizeof(dividers));     /* avoid gcc warning */
        ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
                                             clock, false, &dividers);
        if (ret)
@@ -246,6 +247,8 @@ static void rv6xx_generate_steps(struct radeon_device *rdev,
        bool increasing_vco;
        u32 step_index = start_index;
 
+       bzero(&cur, sizeof(cur));       /* silence gcc warnings */
+       bzero(&target, sizeof(target)); /* silence gcc warnings */
        rv6xx_convert_clock_to_stepping(rdev, low, &cur);
        rv6xx_convert_clock_to_stepping(rdev, high, &target);
 
@@ -299,6 +302,7 @@ static void rv6xx_generate_single_step(struct radeon_device *rdev,
 {
        struct rv6xx_sclk_stepping step;
 
+       bzero(&step, sizeof(step));     /* silence gcc warnings */
        rv6xx_convert_clock_to_stepping(rdev, clock, &step);
        rv6xx_output_stepping(rdev, index, &step);
 }
@@ -658,6 +662,7 @@ static void rv6xx_program_mclk_spread_spectrum_parameters(struct radeon_device *
        struct radeon_atom_ss ss;
        u32 vco_freq = 0, clk_v, clk_s;
 
+       bzero(&dividers, sizeof(dividers));     /* avoid gcc warning */
        rv6xx_enable_memory_spread_spectrum(rdev, false);
 
        if (pi->mclk_ss) {
@@ -1936,6 +1941,7 @@ int rv6xx_dpm_init(struct radeon_device *rdev)
        struct rv6xx_power_info *pi;
        int ret;
 
+       bzero(&dividers, sizeof(dividers));     /* avoid gcc warning */
        pi = kzalloc(sizeof(struct rv6xx_power_info), GFP_KERNEL);
        if (pi == NULL)
                return -ENOMEM;
index e12b039..2aafb3c 100644 (file)
@@ -63,6 +63,7 @@ ar5210BeaconInit(struct ath_hal *ah,
 {
        HAL_BEACON_TIMERS bt;
 
+       bzero(&bt, sizeof(bt));
        bt.bt_nexttbtt = next_beacon;
 
        if (AH_PRIVATE(ah)->ah_opmode != HAL_M_STA) {
index 6029bff..3f5ba1a 100644 (file)
@@ -665,6 +665,7 @@ getGainF(struct ath_hal *ah, const struct tpcMap *pRD,
 
        low = high = -1;
 
+       *dBm = 0;       /* avoid gcc warnings */
        for (i = 0; i < AR_TP_SCALING_ENTRIES; i++) {
                if(pRD->pcdac[i] == 63)
                        continue;
index b2775d0..90fa1c7 100644 (file)
@@ -66,6 +66,7 @@ ar5211BeaconInit(struct ath_hal *ah,
 {
        HAL_BEACON_TIMERS bt;
 
+       bzero(&bt, sizeof(bt));
        bt.bt_nexttbtt = next_beacon;
        /* 
         * TIMER1: in AP/adhoc mode this controls the DMA beacon
index a4f3680..ce4f9c0 100644 (file)
@@ -1712,6 +1712,8 @@ ar5211GetScaledPower(uint16_t channel, uint16_t pcdacValue,
                &lrPcdac, &urPcdac);
 
        /* get the power index for the pcdac value */
+       lPwr = 0;       /* avoid gcc warnings */
+       uPwr = 0;       /* avoid gcc warnings */
        ar5211FindValueInList(lFreq, llPcdac, pSrcStruct, &lPwr);
        ar5211FindValueInList(lFreq, ulPcdac, pSrcStruct, &uPwr);
        lScaledPwr = ar5211GetInterpolatedValue(pcdacValue,
@@ -1817,6 +1819,9 @@ ar5211GetLowerUpperValues(uint16_t value,
        uint32_t target = value * EEP_SCALE;
        int i;
 
+       *pLowerValue = 0;       /* avoid gcc warnings */
+       *pUpperValue = 0;       /* avoid gcc warnings */
+
        /*
         * See if value is lower than the first value in the list
         * if so return first value
index 1034b2b..a721560 100644 (file)
@@ -250,6 +250,9 @@ GetLowerUpperIndex(int16_t v, const uint16_t *lp, uint16_t listSize,
        const uint16_t *ep = lp+listSize;
        const uint16_t *tp;
 
+       *vlo = 0;       /* avoid gcc warnings */
+       *vhi = 0;       /* avoid gcc warnings */
+
        /*
         * Check first and last elements for out-of-bounds conditions.
         */
index e310801..b88d93d 100644 (file)
@@ -251,6 +251,9 @@ GetLowerUpperIndex(int16_t v, const uint16_t *lp, uint16_t listSize,
        const uint16_t *ep = lp+listSize;
        const uint16_t *tp;
 
+       *vlo = 0;       /* avoid gcc warnings */
+       *vhi = 0;       /* avoid gcc warnings */
+
        /*
         * Check first and last elements for out-of-bounds conditions.
         */
index f9fd3f3..598d84b 100644 (file)
@@ -560,6 +560,8 @@ ar5212GetScaledPower(uint16_t channel, uint16_t pcdacValue,
        ar5212GetLowerUpperPcdacs(pcdacValue,
                rFreq, pSrcStruct, &lrPcdac, &urPcdac);
 
+       lPwr = 0;       /* avoid gcc warnings */
+       uPwr = 0;       /* avoid gcc warnings */
        /* get the power index for the pcdac value */
        ar5212FindValueInList(lFreq, llPcdac, pSrcStruct, &lPwr);
        ar5212FindValueInList(lFreq, ulPcdac, pSrcStruct, &uPwr);
index b52077f..9280526 100644 (file)
@@ -90,6 +90,7 @@ ar5212BeaconInit(struct ath_hal *ah,
 {
        HAL_BEACON_TIMERS bt;
 
+       bzero(&bt, sizeof(bt));
        bt.bt_nexttbtt = next_beacon;
        /* 
         * TIMER1: in AP/adhoc mode this controls the DMA beacon
index 6a76f43..de1c3cf 100644 (file)
@@ -2630,6 +2630,9 @@ ar5212GetLowerUpperValues(uint16_t v, uint16_t *lp, uint16_t listSize,
        uint32_t target = v * EEP_SCALE;
        uint16_t *ep = lp+listSize;
 
+       *vlo = 0;       /* avoid gcc warnings */
+       *vhi = 0;       /* avoid gcc warnings */
+
        /*
         * Check first and last elements for out-of-bounds conditions.
         */
index f7251e2..61ac3bb 100644 (file)
@@ -293,6 +293,9 @@ GetLowerUpperIndex(int16_t v, const uint16_t *lp, uint16_t listSize,
        const uint16_t *ep = lp+listSize;
        const uint16_t *tp;
 
+       *vlo = 0;       /* avoid gcc warnings */
+       *vhi = 0;       /* avoid gcc warnings */
+
        /*
         * Check first and last elements for out-of-bounds conditions.
         */
index 6691c11..f442de3 100644 (file)
@@ -84,6 +84,7 @@ ar5416BeaconInit(struct ath_hal *ah,
 {
        HAL_BEACON_TIMERS bt;
 
+       bzero(&bt, sizeof(bt)); /* avoid gcc warnings */
        bt.bt_nexttbtt = next_beacon;
        /* 
         * TIMER1: in AP/adhoc mode this controls the DMA beacon
index 430029e..94acdf6 100644 (file)
@@ -3436,6 +3436,7 @@ static s32 e1000_read_nvm_spt(struct e1000_hw *hw, u16 offset, u16 words,
                        }
                } else {
                        use_offset = act_offset + i;
+                       dword = 0;      /* avoid gcc warnings */
                        if (!(dev_spec->shadow_ram[offset + i].modified) ||
                            !(dev_spec->shadow_ram[offset + i + 1].modified)) {
                                ret_val =
@@ -3819,6 +3820,8 @@ static s32 e1000_read_flash_data32_ich8lan(struct e1000_hw *hw, u32 offset,
 
        DEBUGFUNC("e1000_read_flash_data32_ich8lan");
 
+       *data = 0;      /* avoid gcc warning */
+
        if (offset > ICH_FLASH_LINEAR_ADDR_MASK ||
            hw->mac.type != e1000_pch_spt)
                return -E1000_ERR_NVM;
index 6856d79..1a1d862 100644 (file)
@@ -2353,6 +2353,8 @@ s32 e1000_phy_has_link_generic(struct e1000_hw *hw, u32 iterations,
 
        DEBUGFUNC("e1000_phy_has_link_generic");
 
+       *success = FALSE;       /* silence gcc warnings */
+
        if (!hw->phy.ops.read_reg)
                return E1000_SUCCESS;
 
@@ -3921,6 +3923,7 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
 
        usec_delay(1);
 
+       link = FALSE;   /* silence gcc warnings */
        if (phy->autoneg_wait_to_complete) {
                DEBUGOUT("Waiting for forced speed/duplex link on 82577 phy\n");
 
index 24bf5bb..f6d63ed 100644 (file)
@@ -1001,6 +1001,7 @@ mxge_change_pause(mxge_softc_t *sc, int pause)
        mxge_cmd_t cmd;
        int status;
 
+       bzero(&cmd, sizeof(cmd));       /* silence gcc warning */
        if (pause)
                status = mxge_send_cmd(sc, MXGEFW_ENABLE_FLOW_CONTROL, &cmd);
        else
@@ -1019,6 +1020,7 @@ mxge_change_promisc(mxge_softc_t *sc, int promisc)
        mxge_cmd_t cmd;
        int status;
 
+       bzero(&cmd, sizeof(cmd));       /* avoid gcc warning */
        if (mxge_always_promisc)
                promisc = 1;
 
@@ -1043,6 +1045,7 @@ mxge_set_multicast_list(mxge_softc_t *sc)
                return;
 
        /* Disable multicast filtering while we play with the lists*/
+       bzero(&cmd, sizeof(cmd));       /* silence gcc warning */
        err = mxge_send_cmd(sc, MXGEFW_ENABLE_ALLMULTI, &cmd);
        if (err != 0) {
                if_printf(ifp, "Failed MXGEFW_ENABLE_ALLMULTI, "
@@ -2542,6 +2545,7 @@ mxge_media_probe(mxge_softc_t *sc)
         * a millisecond
         */
 
+       bzero(&cmd, sizeof(cmd));       /* silence gcc warning */
        cmd.data0 = 0;   /* just fetch 1 byte, not all 256 */
        cmd.data1 = byte;
        err = mxge_send_cmd(sc, MXGEFW_CMD_I2C_READ, &cmd);
@@ -3242,6 +3246,7 @@ mxge_slice_open(struct mxge_slice_state *ss, int cl_size)
         */
        err = 0;
 
+       bzero(&cmd, sizeof(cmd));       /* silence gcc warning */
        if (ss->sc->num_tx_rings == 1) {
                if (slice == 0) {
                        cmd.data0 = slice;
index 692b892..bf87d90 100644 (file)
@@ -1065,6 +1065,7 @@ xl_choose_xcvr(struct xl_softc *sc, int verbose)
         * This is what's loaded into the PCI device ID register, so it has
         * to be correct otherwise we wouldn't have gotten this far.
         */
+       devid = 0;      /* silence gcc warnings */
        xl_read_eeprom(sc, (caddr_t)&devid, XL_EE_PRODID, 1, 0);
 
        switch(devid) {
index ef9dd95..7953312 100644 (file)
@@ -2018,6 +2018,8 @@ aac_sync_command(struct aac_softc *sc, u_int32_t command,
        time_t then;
        u_int32_t status;
 
+       if (sp != NULL)
+               *sp = 0;        /* avoid gcc warnings */
        fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, "");
 
        /* populate the mailbox */
index 2d2ac44..00a68b3 100644 (file)
@@ -1020,6 +1020,7 @@ amr_enquiry(struct amr_softc *sc, size_t bufsize, u_int8_t cmd, u_int8_t cmdsub,
 
     debug_called(1);
 
+    *status = 0;       /* avoid gcc warnings */
     error = 1;
     result = NULL;
     
index 49b615a..d501ccf 100644 (file)
@@ -931,7 +931,8 @@ typedef struct _I2O_SG_ELEMENT {
        I2O_SGE_SHORT_TRANSACTION_ELEMENT   ShortTransaction;
 
        /* Simple Addressing Element */
-       I2O_SGE_SIMPLE_ELEMENT             Simple[1];
+       /* (variable, as with others, use '2' to avoid gcc warning) */
+       I2O_SGE_SIMPLE_ELEMENT             Simple[2];
 
        /* Simple Addressing with Context Element */
        I2O_SGE_SIMPLE_CONTEXT_ELEMENT     SimpleContext[1];
index 0c15fca..6b0ec4d 100644 (file)
@@ -2472,6 +2472,7 @@ ciss_get_bmic_request(struct ciss_softc *sc, struct ciss_request **crp,
 
     debug_called(2);
 
+    *crp = NULL;       /* avoid gcc warnings */
     cr = NULL;
     buf = NULL;
 
index 3663d0d..666ce45 100644 (file)
@@ -1660,8 +1660,10 @@ mly_alloc_command(struct mly_softc *sc, struct mly_command **mcp)
 
     debug_called(3);
 
-    if ((mc = mly_dequeue_free(sc)) == NULL)
+    if ((mc = mly_dequeue_free(sc)) == NULL) {
+       *mcp = NULL;    /* avoid gcc warning */
        return(ENOMEM);
+    }
 
     *mcp = mc;
     return(0);
index e0bf234..07242b4 100644 (file)
@@ -1472,6 +1472,8 @@ _mapping_process_dpm_pg0(struct mps_softc *sc)
        u64 physical_id;
        u32 phy_bits = 0;
 
+       start_idx = 0;  /* avoid gcc warnings */
+       end_idx = 0;    /* avoid gcc warnings */
        if (sc->ir_firmware)
                _mapping_get_ir_maprange(sc, &start_idx, &end_idx);
 
index 1391544..4c39a51 100644 (file)
@@ -275,6 +275,7 @@ parityops(struct vinum_ioctl_msg *data)
     size = imin(DEFAULT_REVIVE_BLOCKSIZE,                  /* one block at a time */
        plex->stripesize << DEV_BSHIFT);
 
+    errorloc = 0;      /* avoid gcc warnings */
     pbp = parityrebuild(plex, pstripe, size, op, &lock, &errorloc); /* do the grunt work */
     if (pbp == NULL) {                                     /* no buffer space */
        reply->error = ENOMEM;
index ee13e3c..d4a3276 100644 (file)
@@ -428,6 +428,11 @@ tr_wrch(struct tr_chinfo *ch)
                cr[2]=((ch->delta>>8)<<24) | (ch->eso);
                cr[3]|=(ch->alpha<<20) | (ch->fms<<16) | (ch->fmc<<14);
                break;
+       default:
+               /* shouldn't occur */
+               cr[0] = 0;      /* avoid gcc warnings */
+               cr[2] = 0;      /* avoid gcc warnings */
+               break;
        }
        snd_mtxlock(tr->lock);
        tr_selch(ch);
index 68c3ccf..b94b886 100644 (file)
@@ -156,8 +156,11 @@ getchns(struct cdev *dev, struct pcm_channel **rdch, struct pcm_channel **wrch,
 
        if (PCM_SIMPLEX(dev) != 0) {
                d = dsp_get_info(dev);
-               if (!PCM_REGISTERED(d))
+               if (!PCM_REGISTERED(d)) {
+                       *rdch = NULL;
+                       *wrch = NULL;
                        return (ENXIO);
+               }
                PCM_LOCK(d);
                PCM_WAIT(d);
                PCM_ACQUIRE(d);
index 2e8986f..85964a9 100644 (file)
@@ -1206,6 +1206,7 @@ fdalloc(struct proc *p, int want, int *result)
        /*
         * Check dtable size limit
         */
+       *result = -1;   /* avoid gcc warnings */
        spin_lock(&p->p_limit->p_spin);
        if (p->p_rlimit[RLIMIT_NOFILE].rlim_cur > INT_MAX)
                lim = INT_MAX;
index e22004f..751eda9 100644 (file)
@@ -759,6 +759,8 @@ kdmsg_state_msgrx(kdmsg_msg_t *msg)
        kdmsg_state_t sdummy;
        int error;
 
+       bzero(&sdummy, sizeof(sdummy)); /* avoid gcc warnings */
+
        /*
         * Make sure a state structure is ready to go in case we need a new
         * one.  This is the only routine which uses freerd_state so no
index fe321ec..1077457 100644 (file)
@@ -865,6 +865,8 @@ link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, linker_symval_t *sy
     elf_file_t     ef = lf->priv;
     const Elf_Sym  *es = (const Elf_Sym *)sym;
 
+    symval->value = 0; /* avoid gcc warnings */
+
     if (es >= ef->symtab && es < (ef->symtab + ef->nchains)) {
        symval->name = ef->strtab + es->st_name;
        symval->value = ef->address + es->st_value;
index 6dc5cc1..b8049da 100644 (file)
@@ -831,7 +831,12 @@ disk_dumpcheck(cdev_t dev, u_int64_t *size,
        struct partinfo pinfo;
        int error;
 
+       if (size)
+               *size = 0;      /* avoid gcc warnings */
+       if (secsize)
+               *secsize = 512; /* avoid gcc warnings */
        bzero(&pinfo, sizeof(pinfo));
+
        error = dev_dioctl(dev, DIOCGPART, (void *)&pinfo, 0,
                           proc0.p_ucred, NULL, NULL);
        if (error)
index d091bf5..dae04de 100644 (file)
@@ -1606,6 +1606,7 @@ sys_sendfile(struct sendfile_args *uap)
                auio.uio_rw = UIO_WRITE;
                auio.uio_td = td;
 
+               tbytes = 0;     /* avoid gcc warnings */
                error = kern_sendmsg(uap->s, NULL, &auio, NULL, 0, &tbytes);
 
                iovec_free(&iov, aiov);
index 531247b..cdd4207 100644 (file)
@@ -571,6 +571,7 @@ pf_insert_src_node(struct pf_src_node **sn, struct pf_rule *rule,
        struct pf_src_node      k;
        int cpu = mycpu->gd_cpuid;
 
+       bzero(&k, sizeof(k));   /* avoid gcc warnings */
        if (*sn == NULL) {
                k.af = af;
                PF_ACPY(&k.addr, src, af);
@@ -2677,6 +2678,8 @@ pf_map_addr(sa_family_t af, struct pf_rule *r, struct pf_addr *saddr,
        int cpu = mycpu->gd_cpuid;
        int tblidx;
 
+       bzero(hash, sizeof(hash));      /* avoid gcc warnings */
+
        /*
         * NOTE! rpool->cur and rpool->tblidx can be iterators and thus
         *       may represent a SMP race due to the shared nature of the
index 0f7a80c..37f454a 100644 (file)
@@ -4755,6 +4755,8 @@ sppp_get_ip_addrs(struct sppp *sp, u_long *src, u_long *dst, u_long *srcmask)
 
        sm = NULL;
        ssrc = ddst = 0L;
+       if (srcmask)
+               *srcmask = 0;   /* avoid gcc warnings */
        /*
         * Pick the first AF_INET address from the list,
         * aliases don't make any sense on a p2p link anyway.
index 847a8f4..7b5833c 100644 (file)
@@ -1087,6 +1087,8 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct thread *td)
        struct sockaddr_in *sin = (struct sockaddr_in *)nam;
        int error;
 
+       if_sin = NULL;  /* avoid gcc warnings */
+
        /* Call inner routine to assign local interface address. */
        if ((error = in_pcbladdr(inp, nam, &if_sin, td)) != 0)
                return (error);
index a2e5544..ea7b37b 100644 (file)
@@ -83,6 +83,7 @@ get_pt_entry(struct vmspace *vm, pt_entry_t *pte, vm_offset_t addr, int index)
        if (err) {
                kprintf("%s: could not get addr %llx\n",
                    __func__, (unsigned long long)addr);
+               *pte = 0;       /* avoid gcc warnings */
                goto error;
        }
        lwb = lwbuf_alloc(m, &lwb_cache);
index 6c28db0..51e49a8 100644 (file)
@@ -768,6 +768,9 @@ hammer_count_bigblocks(hammer_mount_t hmp, hammer_volume_t volume,
 
        KKASSERT(volume->vol_no != HAMMER_ROOT_VOLNO);
 
+       *total_bigblocks = 0;   /* avoid gcc warnings */
+       *empty_bigblocks = 0;   /* avoid gcc warnings */
+
        ondisk = volume->ondisk;
        vol_buf_size = HAMMER_VOL_BUF_SIZE(ondisk);
        KKASSERT((vol_buf_size & ~HAMMER_OFF_SHORT_MASK) == 0);
index 5dcd74b..d9e33a8 100644 (file)
@@ -3497,6 +3497,7 @@ hammer2_chain_create_indirect(hammer2_chain_t *parent,
         */
        key_beg = 0;
        key_end = HAMMER2_KEY_MAX;
+       key_next = 0;   /* avoid gcc warnings */
        cache_index = 0;
        hammer2_spin_ex(&parent->core.spin);
        loops = 0;
index 94719bc..89e4400 100644 (file)
@@ -679,6 +679,7 @@ nfs_mountroot(struct mount *mp)
                        (l >> 24) & 0xff, (l >> 16) & 0xff,
                        (l >>  8) & 0xff, (l >>  0) & 0xff,nd->swap_hostnam);
                kprintf("NFS SWAP: %s\n",buf);
+               vp = NULL;      /* avoid gcc warnings */
                error = nfs_mountdiskless(buf, "/swap", 0, &nd->swap_saddr,
                                          &nd->swap_args, td, &vp, &swap_mp);
                if (error) {
index d46015c..2f4a11e 100644 (file)
@@ -644,6 +644,7 @@ ntfs_uastricmp(struct ntfsmount *ntmp, const wchar *ustr, size_t ustrlen,
        int res;
        wchar wc;
 
+       len = 0;        /* avoid gcc warnings */
        if (ntmp->ntm_ic_l2u) {
                for (i = 0, j = 0; i < ustrlen && j < astrlen; i++, j++) {
                        if (j < astrlen -1) {
index d574761..971495b 100644 (file)
@@ -4842,6 +4842,7 @@ clear_inodedeps(struct thread *td)
         * We will then gather up all the inodes in its block 
         * that have dependencies and flush them out.
         */
+       inodedep = NULL;        /* avoid gcc warnings */
        for (cnt = 0; cnt < inodedep_hash; cnt++) {
                inodedephd = &inodedep_hashtbl[next++];
                if (next >= inodedep_hash)