LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .182
+LINUX_VERSION-4.4 = .184
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.182 = c409d88f61cd9a37cbba36d5d9c8162263eb1e5c9380efaf880a3ec10cd88527
+LINUX_KERNEL_HASH-4.4.184 = 6543232fc082485c1088830b9456e1a6e511239e4bf98817b0166ee62cafc3ca
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
#define PPC4XX_SEC_VERSION_STR "0.5"
-@@ -1230,6 +1231,7 @@ static int crypto4xx_probe(struct platfo
+@@ -1221,6 +1222,7 @@ static int crypto4xx_probe(struct platfo
if (rc)
goto err_start_dev;
return 0;
err_start_dev:
-@@ -1256,6 +1258,8 @@ static int crypto4xx_remove(struct platf
+@@ -1247,6 +1249,8 @@ static int crypto4xx_remove(struct platf
struct device *dev = &ofdev->dev;
struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
free_irq(core_dev->irq, dev);
irq_dispose_mapping(core_dev->irq);
-@@ -1276,7 +1280,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
+@@ -1267,7 +1271,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
static struct platform_driver crypto4xx_driver = {
.driver = {
.of_match_table = crypto4xx_match,
},
.probe = crypto4xx_probe,
-@@ -1288,4 +1292,3 @@ module_platform_driver(crypto4xx_driver)
+@@ -1279,4 +1283,3 @@ module_platform_driver(crypto4xx_driver)
MODULE_LICENSE("GPL");
MODULE_AUTHOR("James Hsiao <jhsiao@amcc.com>");
MODULE_DESCRIPTION("Driver for AMCC PPC4xx crypto accelerator");
+++ /dev/null
-From 8d9f1b2c4ad8b86c4a5af5e4787ea4eae7853f6d Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 20 Jun 2019 11:29:15 +0200
-Subject: Revert "crypto: crypto4xx - properly set IV after de- and encrypt"
-
-This reverts commit e9a60ab1609a7d975922adad1bf9c46ac6954584.
-
-This fixes a compile problem in upstream kernel 4.4.
----
- drivers/crypto/amcc/crypto4xx_alg.c | 3 +--
- drivers/crypto/amcc/crypto4xx_core.c | 9 ---------
- 2 files changed, 1 insertion(+), 11 deletions(-)
-
---- a/drivers/crypto/amcc/crypto4xx_alg.c
-+++ b/drivers/crypto/amcc/crypto4xx_alg.c
-@@ -138,8 +138,7 @@ static int crypto4xx_setkey_aes(struct c
- sa = (struct dynamic_sa_ctl *) ctx->sa_in;
- ctx->hash_final = 0;
-
-- set_dynamic_sa_command_0(sa, SA_NOT_SAVE_HASH, (cm == CRYPTO_MODE_CBC ?
-- SA_SAVE_IV : SA_NOT_SAVE_IV),
-+ set_dynamic_sa_command_0(sa, SA_NOT_SAVE_HASH, SA_NOT_SAVE_IV,
- SA_LOAD_HASH_FROM_SA, SA_LOAD_IV_FROM_STATE,
- SA_NO_HEADER_PROC, SA_HASH_ALG_NULL,
- SA_CIPHER_ALG_AES, SA_PAD_TYPE_ZERO,
---- a/drivers/crypto/amcc/crypto4xx_core.c
-+++ b/drivers/crypto/amcc/crypto4xx_core.c
-@@ -646,15 +646,6 @@ static u32 crypto4xx_ablkcipher_done(str
- addr = dma_map_page(dev->core_dev->device, sg_page(dst),
- dst->offset, dst->length, DMA_FROM_DEVICE);
- }
--
-- if (pd_uinfo->sa_va->sa_command_0.bf.save_iv == SA_SAVE_IV) {
-- struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
--
-- crypto4xx_memcpy_from_le32((u32 *)req->iv,
-- pd_uinfo->sr_va->save_iv,
-- crypto_skcipher_ivsize(skcipher));
-- }
--
- crypto4xx_ret_sg_desc(dev, pd_uinfo);
- if (ablk_req->base.complete != NULL)
- ablk_req->base.complete(&ablk_req->base, 0);
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
-@@ -4946,6 +4947,9 @@ void ata_qc_complete(struct ata_queued_c
+@@ -4949,6 +4950,9 @@ void ata_qc_complete(struct ata_queued_c
{
struct ata_port *ap = qc->ap;
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1040,4 +1040,12 @@ config GPIO_VIPERBOARD
+@@ -1041,4 +1041,12 @@ config GPIO_VIPERBOARD
endmenu
+#endif
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -991,7 +991,6 @@ menu "SPI GPIO expanders"
+@@ -992,7 +992,6 @@ menu "SPI GPIO expanders"
config GPIO_74X164
tristate "74x164 serial-in/parallel-out 8-bits shift register"
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1047,4 +1047,9 @@ config GPIO_NXP_74HC153
+@@ -1048,4 +1048,9 @@ config GPIO_NXP_74HC153
Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
provides a GPIO interface supporting input mode only.
struct config_item * item = NULL;
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
-@@ -255,6 +255,12 @@ static void configfs_init_file(struct in
+@@ -253,6 +253,12 @@ static void configfs_init_file(struct in
inode->i_fop = &configfs_file_operations;
}
static void init_symlink(struct inode * inode)
{
inode->i_op = &configfs_symlink_inode_operations;
-@@ -423,7 +429,9 @@ static int configfs_attach_attr(struct c
+@@ -421,7 +427,9 @@ static int configfs_attach_attr(struct c
spin_unlock(&configfs_dirent_lock);
error = configfs_create(dentry, (attr->ca_mode & S_IALLUGO) | S_IFREG,
if (error) {
configfs_put(sd);
return error;
-@@ -583,6 +591,7 @@ static int populate_attrs(struct config_
+@@ -581,6 +589,7 @@ static int populate_attrs(struct config_
{
struct config_item_type *t = item->ci_type;
struct configfs_attribute *attr;
int error = 0;
int i;
-@@ -594,6 +603,13 @@ static int populate_attrs(struct config_
+@@ -592,6 +601,13 @@ static int populate_attrs(struct config_
break;
}
}
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4812,6 +4825,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4815,6 +4828,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5711,6 +5727,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
-@@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi
+@@ -5732,6 +5751,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6175,7 +6200,23 @@ int ata_host_register(struct ata_host *h
+@@ -6178,7 +6203,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -697,6 +697,14 @@ config GPIO_SX150X
+@@ -698,6 +698,14 @@ config GPIO_SX150X
8 bits: sx1508q
16 bits: sx1509q
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4819,6 +4827,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4822,6 +4830,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
/* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap);
-@@ -4864,6 +4875,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4867,6 +4878,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap);