diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | drivers/Makefile | 3 | ||||
-rw-r--r-- | drivers/scsi/libata-scsi.c | 9 | ||||
-rw-r--r-- | mm/memory.c | 2 | ||||
-rw-r--r-- | mm/page_alloc.c | 16 |
5 files changed, 19 insertions, 13 deletions
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 15 | 3 | SUBLEVEL = 15 |
4 | EXTRAVERSION =-rc4 | 4 | EXTRAVERSION =-rc5 |
5 | NAME=Affluent Albatross | 5 | NAME=Affluent Albatross |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/drivers/Makefile b/drivers/Makefile index fac1e1603097..ea410b6b7644 100644 --- a/drivers/Makefile +++ b/drivers/Makefile | |||
@@ -5,7 +5,7 @@ | |||
5 | # Rewritten to use lists instead of if-statements. | 5 | # Rewritten to use lists instead of if-statements. |
6 | # | 6 | # |
7 | 7 | ||
8 | obj-$(CONFIG_PCI) += pci/ usb/ | 8 | obj-$(CONFIG_PCI) += pci/ |
9 | obj-$(CONFIG_PARISC) += parisc/ | 9 | obj-$(CONFIG_PARISC) += parisc/ |
10 | obj-$(CONFIG_RAPIDIO) += rapidio/ | 10 | obj-$(CONFIG_RAPIDIO) += rapidio/ |
11 | obj-y += video/ | 11 | obj-y += video/ |
@@ -49,6 +49,7 @@ obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ | |||
49 | obj-$(CONFIG_PARIDE) += block/paride/ | 49 | obj-$(CONFIG_PARIDE) += block/paride/ |
50 | obj-$(CONFIG_TC) += tc/ | 50 | obj-$(CONFIG_TC) += tc/ |
51 | obj-$(CONFIG_USB) += usb/ | 51 | obj-$(CONFIG_USB) += usb/ |
52 | obj-$(CONFIG_PCI) += usb/ | ||
52 | obj-$(CONFIG_USB_GADGET) += usb/gadget/ | 53 | obj-$(CONFIG_USB_GADGET) += usb/gadget/ |
53 | obj-$(CONFIG_GAMEPORT) += input/gameport/ | 54 | obj-$(CONFIG_GAMEPORT) += input/gameport/ |
54 | obj-$(CONFIG_INPUT) += input/ | 55 | obj-$(CONFIG_INPUT) += input/ |
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index 3b4ca55a3332..379e87089764 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c | |||
@@ -2239,7 +2239,7 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, const u8 *scsicmd) | |||
2239 | struct scsi_cmnd *cmd = qc->scsicmd; | 2239 | struct scsi_cmnd *cmd = qc->scsicmd; |
2240 | 2240 | ||
2241 | if ((tf->protocol = ata_scsi_map_proto(scsicmd[1])) == ATA_PROT_UNKNOWN) | 2241 | if ((tf->protocol = ata_scsi_map_proto(scsicmd[1])) == ATA_PROT_UNKNOWN) |
2242 | return 1; | 2242 | goto invalid_fld; |
2243 | 2243 | ||
2244 | /* | 2244 | /* |
2245 | * 12 and 16 byte CDBs use different offsets to | 2245 | * 12 and 16 byte CDBs use different offsets to |
@@ -2301,7 +2301,7 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, const u8 *scsicmd) | |||
2301 | */ | 2301 | */ |
2302 | if ((tf->command == ATA_CMD_SET_FEATURES) | 2302 | if ((tf->command == ATA_CMD_SET_FEATURES) |
2303 | && (tf->feature == SETFEATURES_XFER)) | 2303 | && (tf->feature == SETFEATURES_XFER)) |
2304 | return 1; | 2304 | goto invalid_fld; |
2305 | 2305 | ||
2306 | /* | 2306 | /* |
2307 | * Set flags so that all registers will be written, | 2307 | * Set flags so that all registers will be written, |
@@ -2322,6 +2322,11 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, const u8 *scsicmd) | |||
2322 | qc->nsect = cmd->bufflen / ATA_SECT_SIZE; | 2322 | qc->nsect = cmd->bufflen / ATA_SECT_SIZE; |
2323 | 2323 | ||
2324 | return 0; | 2324 | return 0; |
2325 | |||
2326 | invalid_fld: | ||
2327 | ata_scsi_set_sense(qc->scsicmd, ILLEGAL_REQUEST, 0x24, 0x00); | ||
2328 | /* "Invalid field in cdb" */ | ||
2329 | return 1; | ||
2325 | } | 2330 | } |
2326 | 2331 | ||
2327 | /** | 2332 | /** |
diff --git a/mm/memory.c b/mm/memory.c index 4b4fc3a7ea48..aa8af0e20269 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -1223,7 +1223,7 @@ int vm_insert_page(struct vm_area_struct *vma, unsigned long addr, struct page * | |||
1223 | return -EINVAL; | 1223 | return -EINVAL; |
1224 | return insert_page(vma->vm_mm, addr, page, vma->vm_page_prot); | 1224 | return insert_page(vma->vm_mm, addr, page, vma->vm_page_prot); |
1225 | } | 1225 | } |
1226 | EXPORT_SYMBOL_GPL(vm_insert_page); | 1226 | EXPORT_SYMBOL(vm_insert_page); |
1227 | 1227 | ||
1228 | /* | 1228 | /* |
1229 | * Somebody does a pfn remapping that doesn't actually work as a vma. | 1229 | * Somebody does a pfn remapping that doesn't actually work as a vma. |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b257720edfc8..3b21a13d841c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1772,16 +1772,16 @@ static int __devinit zone_batchsize(struct zone *zone) | |||
1772 | batch = 1; | 1772 | batch = 1; |
1773 | 1773 | ||
1774 | /* | 1774 | /* |
1775 | * We will be trying to allcoate bigger chunks of contiguous | 1775 | * Clamp the batch to a 2^n - 1 value. Having a power |
1776 | * memory of the order of fls(batch). This should result in | 1776 | * of 2 value was found to be more likely to have |
1777 | * better cache coloring. | 1777 | * suboptimal cache aliasing properties in some cases. |
1778 | * | 1778 | * |
1779 | * A sanity check also to ensure that batch is still in limits. | 1779 | * For example if 2 tasks are alternately allocating |
1780 | * batches of pages, one task can end up with a lot | ||
1781 | * of pages of one half of the possible page colors | ||
1782 | * and the other with pages of the other colors. | ||
1780 | */ | 1783 | */ |
1781 | batch = (1 << fls(batch + batch/2)); | 1784 | batch = (1 << (fls(batch + batch/2)-1)) - 1; |
1782 | |||
1783 | if (fls(batch) >= (PAGE_SHIFT + MAX_ORDER - 2)) | ||
1784 | batch = PAGE_SHIFT + ((MAX_ORDER - 1 - PAGE_SHIFT)/2); | ||
1785 | 1785 | ||
1786 | return batch; | 1786 | return batch; |
1787 | } | 1787 | } |