diff options
Diffstat (limited to 'drivers/message')
-rw-r--r-- | drivers/message/i2o/Kconfig | 2 | ||||
-rw-r--r-- | drivers/message/i2o/i2o_block.c | 7 | ||||
-rw-r--r-- | drivers/message/i2o/pci.c | 7 |
3 files changed, 9 insertions, 7 deletions
diff --git a/drivers/message/i2o/Kconfig b/drivers/message/i2o/Kconfig index fef677103880..6443392bffff 100644 --- a/drivers/message/i2o/Kconfig +++ b/drivers/message/i2o/Kconfig | |||
@@ -88,7 +88,7 @@ config I2O_BUS | |||
88 | 88 | ||
89 | config I2O_BLOCK | 89 | config I2O_BLOCK |
90 | tristate "I2O Block OSM" | 90 | tristate "I2O Block OSM" |
91 | depends on I2O | 91 | depends on I2O && BLOCK |
92 | ---help--- | 92 | ---help--- |
93 | Include support for the I2O Block OSM. The Block OSM presents disk | 93 | Include support for the I2O Block OSM. The Block OSM presents disk |
94 | and other structured block devices to the operating system. If you | 94 | and other structured block devices to the operating system. If you |
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index 1ddc2fb429d5..eaba81bf2eca 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c | |||
@@ -390,9 +390,9 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) | |||
390 | } | 390 | } |
391 | 391 | ||
392 | /* request is already processed by us, so return */ | 392 | /* request is already processed by us, so return */ |
393 | if (req->flags & REQ_SPECIAL) { | 393 | if (blk_special_request(req)) { |
394 | osm_debug("REQ_SPECIAL already set!\n"); | 394 | osm_debug("REQ_SPECIAL already set!\n"); |
395 | req->flags |= REQ_DONTPREP; | 395 | req->cmd_flags |= REQ_DONTPREP; |
396 | return BLKPREP_OK; | 396 | return BLKPREP_OK; |
397 | } | 397 | } |
398 | 398 | ||
@@ -411,7 +411,8 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) | |||
411 | ireq = req->special; | 411 | ireq = req->special; |
412 | 412 | ||
413 | /* do not come back here */ | 413 | /* do not come back here */ |
414 | req->flags |= REQ_DONTPREP | REQ_SPECIAL; | 414 | req->cmd_type = REQ_TYPE_SPECIAL; |
415 | req->cmd_flags |= REQ_DONTPREP; | ||
415 | 416 | ||
416 | return BLKPREP_OK; | 417 | return BLKPREP_OK; |
417 | }; | 418 | }; |
diff --git a/drivers/message/i2o/pci.c b/drivers/message/i2o/pci.c index 1b58444d5aaf..dec41cc89937 100644 --- a/drivers/message/i2o/pci.c +++ b/drivers/message/i2o/pci.c | |||
@@ -372,12 +372,13 @@ static int __devinit i2o_pci_probe(struct pci_dev *pdev, | |||
372 | * Expose the ship behind i960 for initialization, or it will | 372 | * Expose the ship behind i960 for initialization, or it will |
373 | * failed | 373 | * failed |
374 | */ | 374 | */ |
375 | i960 = | 375 | i960 = pci_get_slot(c->pdev->bus, |
376 | pci_find_slot(c->pdev->bus->number, | ||
377 | PCI_DEVFN(PCI_SLOT(c->pdev->devfn), 0)); | 376 | PCI_DEVFN(PCI_SLOT(c->pdev->devfn), 0)); |
378 | 377 | ||
379 | if (i960) | 378 | if (i960) { |
380 | pci_write_config_word(i960, 0x42, 0); | 379 | pci_write_config_word(i960, 0x42, 0); |
380 | pci_dev_put(i960); | ||
381 | } | ||
381 | 382 | ||
382 | c->promise = 1; | 383 | c->promise = 1; |
383 | c->limit_sectors = 1; | 384 | c->limit_sectors = 1; |