[PATCH] libata: convert assert(X)'s in libata core layer to WARN_ON(!X)'s

In an effort to kill libata-specific assert() and use generic
WARN_ON(), this patch converts all assert(X)'s in libata core layer to
WARN_ON(!X)'s.  Most conversions are straight-forward logical negation
exception for the followings.

* In libata-core.c:ata_fill_sg(),
  assert(qc->n_elem > 0) is converted to WARN_ON(qc->n_elem == 0) because
  qc->n_elem is unsigned and unsigned <= 0 is weird.

* In libata-scsi.c:ata_gen_ata_desc/fixed_sense(),
  assert(NULL != qc->ap->ops->tf_read) is converted to
  WARN_ON(qc->ap->ops->tf_read == NULL), as there are no other users of
  'constant cond var' style in libata.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
Tejun Heo 2006-02-11 19:11:13 +09:00 committed by Jeff Garzik
parent 4bd00f6a20
commit a46314744d
2 changed files with 30 additions and 30 deletions

View File

@ -904,8 +904,8 @@ static void ata_dev_identify(struct ata_port *ap, unsigned int device)
DPRINTK("ENTER, host %u, dev %u\n", ap->id, device); DPRINTK("ENTER, host %u, dev %u\n", ap->id, device);
assert (dev->class == ATA_DEV_ATA || dev->class == ATA_DEV_ATAPI || WARN_ON(dev->class != ATA_DEV_ATA && dev->class != ATA_DEV_ATAPI &&
dev->class == ATA_DEV_NONE); dev->class != ATA_DEV_NONE);
ata_dev_select(ap, device, 1, 1); /* select device 0/1 */ ata_dev_select(ap, device, 1, 1); /* select device 0/1 */
@ -2301,7 +2301,7 @@ static unsigned int ata_get_mode_mask(const struct ata_port *ap, int shift)
master = &ap->device[0]; master = &ap->device[0];
slave = &ap->device[1]; slave = &ap->device[1];
assert (ata_dev_present(master) || ata_dev_present(slave)); WARN_ON(!ata_dev_present(master) && !ata_dev_present(slave));
if (shift == ATA_SHIFT_UDMA) { if (shift == ATA_SHIFT_UDMA) {
mask = ap->udma_mask; mask = ap->udma_mask;
@ -2547,11 +2547,11 @@ static void ata_sg_clean(struct ata_queued_cmd *qc)
int dir = qc->dma_dir; int dir = qc->dma_dir;
void *pad_buf = NULL; void *pad_buf = NULL;
assert(qc->flags & ATA_QCFLAG_DMAMAP); WARN_ON(!(qc->flags & ATA_QCFLAG_DMAMAP));
assert(sg != NULL); WARN_ON(sg == NULL);
if (qc->flags & ATA_QCFLAG_SINGLE) if (qc->flags & ATA_QCFLAG_SINGLE)
assert(qc->n_elem == 1); WARN_ON(qc->n_elem != 1);
VPRINTK("unmapping %u sg elements\n", qc->n_elem); VPRINTK("unmapping %u sg elements\n", qc->n_elem);
@ -2606,8 +2606,8 @@ static void ata_fill_sg(struct ata_queued_cmd *qc)
struct scatterlist *sg; struct scatterlist *sg;
unsigned int idx; unsigned int idx;
assert(qc->__sg != NULL); WARN_ON(qc->__sg == NULL);
assert(qc->n_elem > 0); WARN_ON(qc->n_elem == 0);
idx = 0; idx = 0;
ata_for_each_sg(sg, qc) { ata_for_each_sg(sg, qc) {
@ -2759,7 +2759,7 @@ static int ata_sg_setup_one(struct ata_queued_cmd *qc)
void *pad_buf = ap->pad + (qc->tag * ATA_DMA_PAD_SZ); void *pad_buf = ap->pad + (qc->tag * ATA_DMA_PAD_SZ);
struct scatterlist *psg = &qc->pad_sgent; struct scatterlist *psg = &qc->pad_sgent;
assert(qc->dev->class == ATA_DEV_ATAPI); WARN_ON(qc->dev->class != ATA_DEV_ATAPI);
memset(pad_buf, 0, ATA_DMA_PAD_SZ); memset(pad_buf, 0, ATA_DMA_PAD_SZ);
@ -2821,7 +2821,7 @@ static int ata_sg_setup(struct ata_queued_cmd *qc)
int n_elem, pre_n_elem, dir, trim_sg = 0; int n_elem, pre_n_elem, dir, trim_sg = 0;
VPRINTK("ENTER, ata%u\n", ap->id); VPRINTK("ENTER, ata%u\n", ap->id);
assert(qc->flags & ATA_QCFLAG_SG); WARN_ON(!(qc->flags & ATA_QCFLAG_SG));
/* we must lengthen transfers to end on a 32-bit boundary */ /* we must lengthen transfers to end on a 32-bit boundary */
qc->pad_len = lsg->length & 3; qc->pad_len = lsg->length & 3;
@ -2830,7 +2830,7 @@ static int ata_sg_setup(struct ata_queued_cmd *qc)
struct scatterlist *psg = &qc->pad_sgent; struct scatterlist *psg = &qc->pad_sgent;
unsigned int offset; unsigned int offset;
assert(qc->dev->class == ATA_DEV_ATAPI); WARN_ON(qc->dev->class != ATA_DEV_ATAPI);
memset(pad_buf, 0, ATA_DMA_PAD_SZ); memset(pad_buf, 0, ATA_DMA_PAD_SZ);
@ -2924,7 +2924,7 @@ static unsigned long ata_pio_poll(struct ata_port *ap)
unsigned int reg_state = HSM_ST_UNKNOWN; unsigned int reg_state = HSM_ST_UNKNOWN;
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
assert(qc != NULL); WARN_ON(qc == NULL);
switch (ap->hsm_task_state) { switch (ap->hsm_task_state) {
case HSM_ST: case HSM_ST:
@ -2992,7 +2992,7 @@ static int ata_pio_complete (struct ata_port *ap)
} }
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
assert(qc != NULL); WARN_ON(qc == NULL);
drv_stat = ata_wait_idle(ap); drv_stat = ata_wait_idle(ap);
if (!ata_ok(drv_stat)) { if (!ata_ok(drv_stat)) {
@ -3003,7 +3003,7 @@ static int ata_pio_complete (struct ata_port *ap)
ap->hsm_task_state = HSM_ST_IDLE; ap->hsm_task_state = HSM_ST_IDLE;
assert(qc->err_mask == 0); WARN_ON(qc->err_mask);
ata_poll_qc_complete(qc); ata_poll_qc_complete(qc);
/* another command may start at this point */ /* another command may start at this point */
@ -3360,7 +3360,7 @@ static void ata_pio_block(struct ata_port *ap)
} }
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
assert(qc != NULL); WARN_ON(qc == NULL);
/* check error */ /* check error */
if (status & (ATA_ERR | ATA_DF)) { if (status & (ATA_ERR | ATA_DF)) {
@ -3397,12 +3397,12 @@ static void ata_pio_error(struct ata_port *ap)
printk(KERN_WARNING "ata%u: PIO error\n", ap->id); printk(KERN_WARNING "ata%u: PIO error\n", ap->id);
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
assert(qc != NULL); WARN_ON(qc == NULL);
/* make sure qc->err_mask is available to /* make sure qc->err_mask is available to
* know what's wrong and recover * know what's wrong and recover
*/ */
assert(qc->err_mask); WARN_ON(qc->err_mask == 0);
ap->hsm_task_state = HSM_ST_IDLE; ap->hsm_task_state = HSM_ST_IDLE;
@ -3609,7 +3609,7 @@ void ata_qc_free(struct ata_queued_cmd *qc)
struct ata_port *ap = qc->ap; struct ata_port *ap = qc->ap;
unsigned int tag; unsigned int tag;
assert(qc != NULL); /* ata_qc_from_tag _might_ return NULL */ WARN_ON(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
qc->flags = 0; qc->flags = 0;
tag = qc->tag; tag = qc->tag;
@ -3623,8 +3623,8 @@ void ata_qc_free(struct ata_queued_cmd *qc)
void __ata_qc_complete(struct ata_queued_cmd *qc) void __ata_qc_complete(struct ata_queued_cmd *qc)
{ {
assert(qc != NULL); /* ata_qc_from_tag _might_ return NULL */ WARN_ON(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
assert(qc->flags & ATA_QCFLAG_ACTIVE); WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE));
if (likely(qc->flags & ATA_QCFLAG_DMAMAP)) if (likely(qc->flags & ATA_QCFLAG_DMAMAP))
ata_sg_clean(qc); ata_sg_clean(qc);
@ -4155,8 +4155,8 @@ static void atapi_packet_task(void *_data)
u8 status; u8 status;
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
assert(qc != NULL); WARN_ON(qc == NULL);
assert(qc->flags & ATA_QCFLAG_ACTIVE); WARN_ON(!(qc->flags & ATA_QCFLAG_ACTIVE));
/* sleep-wait for BSY to clear */ /* sleep-wait for BSY to clear */
DPRINTK("busy wait\n"); DPRINTK("busy wait\n");
@ -4174,7 +4174,7 @@ static void atapi_packet_task(void *_data)
/* send SCSI cdb */ /* send SCSI cdb */
DPRINTK("send cdb\n"); DPRINTK("send cdb\n");
assert(ap->cdb_len >= 12); WARN_ON(ap->cdb_len < 12);
if (qc->tf.protocol == ATA_PROT_ATAPI_DMA || if (qc->tf.protocol == ATA_PROT_ATAPI_DMA ||
qc->tf.protocol == ATA_PROT_ATAPI_NODATA) { qc->tf.protocol == ATA_PROT_ATAPI_NODATA) {

View File

@ -553,7 +553,7 @@ void ata_gen_ata_desc_sense(struct ata_queued_cmd *qc)
/* /*
* Read the controller registers. * Read the controller registers.
*/ */
assert(NULL != qc->ap->ops->tf_read); WARN_ON(qc->ap->ops->tf_read == NULL);
qc->ap->ops->tf_read(qc->ap, tf); qc->ap->ops->tf_read(qc->ap, tf);
/* /*
@ -628,7 +628,7 @@ void ata_gen_fixed_sense(struct ata_queued_cmd *qc)
/* /*
* Read the controller registers. * Read the controller registers.
*/ */
assert(NULL != qc->ap->ops->tf_read); WARN_ON(qc->ap->ops->tf_read == NULL);
qc->ap->ops->tf_read(qc->ap, tf); qc->ap->ops->tf_read(qc->ap, tf);
/* /*
@ -746,7 +746,7 @@ enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd)
spin_lock_irqsave(&ap->host_set->lock, flags); spin_lock_irqsave(&ap->host_set->lock, flags);
qc = ata_qc_from_tag(ap, ap->active_tag); qc = ata_qc_from_tag(ap, ap->active_tag);
if (qc) { if (qc) {
assert(qc->scsicmd == cmd); WARN_ON(qc->scsicmd != cmd);
qc->flags |= ATA_QCFLAG_EH_SCHEDULED; qc->flags |= ATA_QCFLAG_EH_SCHEDULED;
qc->err_mask |= AC_ERR_TIMEOUT; qc->err_mask |= AC_ERR_TIMEOUT;
ret = EH_NOT_HANDLED; ret = EH_NOT_HANDLED;
@ -780,14 +780,14 @@ int ata_scsi_error(struct Scsi_Host *host)
ap = (struct ata_port *) &host->hostdata[0]; ap = (struct ata_port *) &host->hostdata[0];
spin_lock_irqsave(&ap->host_set->lock, flags); spin_lock_irqsave(&ap->host_set->lock, flags);
assert(!(ap->flags & ATA_FLAG_IN_EH)); WARN_ON(ap->flags & ATA_FLAG_IN_EH);
ap->flags |= ATA_FLAG_IN_EH; ap->flags |= ATA_FLAG_IN_EH;
assert(ata_qc_from_tag(ap, ap->active_tag) != NULL); WARN_ON(ata_qc_from_tag(ap, ap->active_tag) == NULL);
spin_unlock_irqrestore(&ap->host_set->lock, flags); spin_unlock_irqrestore(&ap->host_set->lock, flags);
ap->ops->eng_timeout(ap); ap->ops->eng_timeout(ap);
assert(host->host_failed == 0 && list_empty(&host->eh_cmd_q)); WARN_ON(host->host_failed || !list_empty(&host->eh_cmd_q));
scsi_eh_flush_done_q(&ap->eh_done_q); scsi_eh_flush_done_q(&ap->eh_done_q);
@ -813,7 +813,7 @@ static void __ata_eh_qc_complete(struct ata_queued_cmd *qc)
spin_lock_irqsave(&ap->host_set->lock, flags); spin_lock_irqsave(&ap->host_set->lock, flags);
qc->scsidone = ata_eh_scsidone; qc->scsidone = ata_eh_scsidone;
__ata_qc_complete(qc); __ata_qc_complete(qc);
assert(!ata_tag_valid(qc->tag)); WARN_ON(ata_tag_valid(qc->tag));
spin_unlock_irqrestore(&ap->host_set->lock, flags); spin_unlock_irqrestore(&ap->host_set->lock, flags);
scsi_eh_finish_cmd(scmd, &ap->eh_done_q); scsi_eh_finish_cmd(scmd, &ap->eh_done_q);