Avoid bypassed null pointer risk in process_queued_ios. --- diff/drivers/md/dm-mpath.c 2004-10-29 15:39:56.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2004-10-29 15:40:02.000000000 +0100 @@ -313,7 +313,7 @@ struct multipath *m = (struct multipath *) data; struct hw_handler *hwh = &m->hw_handler; struct path *path; - unsigned init_required, must_queue, bypassed; + unsigned init_required, must_queue; unsigned long flags; spin_lock_irqsave(&m->lock, flags); @@ -322,7 +322,6 @@ __choose_path(m); path = m->current_path; - bypassed = path->pg->bypassed; must_queue = m->queue_io; init_required = m->pg_init_required; @@ -332,7 +331,8 @@ spin_unlock_irqrestore(&m->lock, flags); if (init_required) - hwh->type->pg_init(hwh, bypassed, path, path->dev->bdev); + hwh->type->pg_init(hwh, path->pg->bypassed, path, + path->dev->bdev); if (path && must_queue) return;