((scsi_logging_level >> (SHIFT)) & ((1 << (BITS)) - 1))
 
 #define SCSI_CHECK_LOGGING(SHIFT, BITS, LEVEL, CMD)            \
-{                                                              \
+do {                                                           \
         if (unlikely((SCSI_LOG_LEVEL(SHIFT, BITS)) > (LEVEL))) \
-               (CMD);                                          \
-}
+               do {                                            \
+                       CMD;                                    \
+               } while (0);                                    \
+} while (0)
 #else
 #define SCSI_CHECK_LOGGING(SHIFT, BITS, LEVEL, CMD)
 #endif /* CONFIG_SCSI_LOGGING */
 
        put_device(&sdev->sdev_gendev);
 }
 
+#ifdef CONFIG_SCSI_LOGGING
 /** 
  * scsi_inq_str - print INQUIRY data from min to max index,
  * strip trailing whitespace
  * @first: Offset of string into inq
  * @end:   Index after last character in inq
  */
-static unsigned char* scsi_inq_str(unsigned char* buf, unsigned char *inq,
+static unsigned char *scsi_inq_str(unsigned char *buf, unsigned char *inq,
                                   unsigned first, unsigned end)
 {
        unsigned term = 0, idx;
-       for (idx = 0; idx+first < end && idx+first < inq[4]+5; ++idx) {
-               if (inq[idx+first] > 0x20) {
+
+       for (idx = 0; idx + first < end && idx + first < inq[4] + 5; idx++) {
+               if (inq[idx+first] > ' ') {
                        buf[idx] = inq[idx+first];
                        term = idx+1;
                } else {
        buf[term] = 0;
        return buf;
 }
+#endif
 
 /**
  * scsi_probe_and_add_lun - probe a LUN, if a LUN is found add it
                                   " peripheral qualifier of 3, device not"
                                   " added\n"))
                if (lun == 0) {
-                       unsigned char vend[9], mod[17];
-                       SCSI_LOG_SCAN_BUS(1, sdev_printk(KERN_INFO, sdev,
+                       SCSI_LOG_SCAN_BUS(1, {
+                               unsigned char vend[9];
+                               unsigned char mod[17];
+
+                               sdev_printk(KERN_INFO, sdev,
                                        "scsi scan: consider passing scsi_mod."
                                        "dev_flags=%s:%s:0x240 or 0x800240\n",
                                        scsi_inq_str(vend, result, 8, 16),
-                                       scsi_inq_str(mod, result, 16, 32)));
+                                       scsi_inq_str(mod, result, 16, 32));
+                       });
                }
                
                res = SCSI_SCAN_TARGET_PRESENT;