(temporary) fix for OLPC-XO build

SVN-Revision: 11000
This commit is contained in:
Nicolas Thill 2008-05-02 01:10:28 +00:00
parent c31ca8dfff
commit d5cb63617d
2 changed files with 2 additions and 42 deletions

View File

@ -198,6 +198,7 @@ CONFIG_HW_RANDOM_VIA=y
CONFIG_I2C=y
# CONFIG_I2C_ALGOBIT is not set
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
# CONFIG_I6300ESB_WDT is not set
# CONFIG_I8K is not set
# CONFIG_IB700_WDT is not set
@ -523,6 +524,7 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_SUSPEND is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USER_NS is not set
CONFIG_V4L_USB_DRIVERS=y
# CONFIG_VFAT_FS is not set
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
@ -530,7 +532,6 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGA_CONSOLE=y
# CONFIG_VGA_NOPROBE is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIDEO_DEV is not set
CONFIG_VIDEO_SELECT=y
CONFIG_VIRTUALIZATION=y
CONFIG_VM86=y

View File

@ -738,22 +738,6 @@ index 73e248f..f7afde3 100644
+ The driver supports both read as well as write commands.
endif # MISC_DEVICES
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 93fe2e5..e17eb8e 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -229,6 +229,11 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
if (brq.data.blocks > card->host->max_blk_count)
brq.data.blocks = card->host->max_blk_count;
+ if (mmc_card_sd(card) && !card->host->ios.clock) {
+ printk(KERN_ERR "%s: I/O to stopped card\n",
+ req->rq_disk->disk_name);
+ goto cmd_err;
+ }
mmc_set_data_timeout(&brq.data, card, rq_data_dir(req) != READ);
/*
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 20a7d89..9abbb58 100644
--- a/drivers/mmc/host/sdhci.c
@ -2236,31 +2220,6 @@ index 0537fac..7d194cf 100644
return 0;
}
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 1938d6d..cc01dbd 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -3556,10 +3556,12 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
}
if (ret != 0 && np->msi_flags & NV_MSI_CAPABLE) {
if ((ret = pci_enable_msi(np->pci_dev)) == 0) {
+ pci_intx(np->pci_dev, 0);
np->msi_flags |= NV_MSI_ENABLED;
if (request_irq(np->pci_dev->irq, handler, IRQF_SHARED, dev->name, dev) != 0) {
printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret);
pci_disable_msi(np->pci_dev);
+ pci_intx(np->pci_dev, 1);
np->msi_flags &= ~NV_MSI_ENABLED;
goto out_err;
}
@@ -3601,6 +3603,7 @@ static void nv_free_irq(struct net_device *dev)
free_irq(np->pci_dev->irq, dev);
if (np->msi_flags & NV_MSI_ENABLED) {
pci_disable_msi(np->pci_dev);
+ pci_intx(np->pci_dev, 1);
np->msi_flags &= ~NV_MSI_ENABLED;
}
}
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 7dcaa09..eb69d4d 100644
--- a/drivers/pci/quirks.c