mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 21:50:53 +07:00
Char/Misc patches for 3.11-rc3
Here are some char/misc patches for 3.11-rc3. It's pretty much just: - mei fixes - hyperv fixes - new ja_JP translation update all tiny stuff, but fixes for issues people have reported. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEABECAAYFAlHyqBcACgkQMUfUDdst+ylMswCgoppo0tfChc0KfyAcsgWwJr2o iTsAoLEJ2sg8GIGYI765UMXWAkzJyCxR =oHJj -----END PGP SIGNATURE----- Merge tag 'char-misc-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc patches from Greg KH: "Here are some char/misc patches for 3.11-rc3. It's pretty much just: - mei fixes - hyperv fixes - new ja_JP translation update all tiny stuff, but fixes for issues people have reported." * tag 'char-misc-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: HOWTO ja_JP sync mei: me: fix waiting for hw ready mei: don't have to clean the state on power up mei: me: fix reset state machine mei: hbm: fix typo in error message Tools: hv: KVP: Fix a bug in IPV6 subnet enumeration Drivers: hv: balloon: Do not post pressure status if interrupted Drivers: hv: balloon: Fix a bug in the hot-add code Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered
This commit is contained in:
commit
05e4cb7c25
@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
|
||||
fork. So if you have any comments or updates for this file, please try
|
||||
to update the original English file first.
|
||||
|
||||
Last Updated: 2011/03/31
|
||||
Last Updated: 2013/07/19
|
||||
==================================
|
||||
これは、
|
||||
linux-2.6.38/Documentation/HOWTO
|
||||
linux-3.10/Documentation/HOWTO
|
||||
の和訳です。
|
||||
|
||||
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
|
||||
翻訳日: 2011/3/28
|
||||
翻訳団体: JF プロジェクト < http://linuxjf.sourceforge.jp/ >
|
||||
翻訳日: 2013/7/19
|
||||
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
|
||||
校正者: 松倉さん <nbh--mats at nifty dot com>
|
||||
小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
|
||||
@ -245,7 +245,7 @@ Linux カーネルソースツリーの中に含まれる、きれいにし、
|
||||
自己参照方式で、索引がついた web 形式で、ソースコードを参照することが
|
||||
できます。この最新の素晴しいカーネルコードのリポジトリは以下で見つかり
|
||||
ます-
|
||||
http://sosdg.org/~qiyong/lxr/
|
||||
http://lxr.linux.no/+trees
|
||||
|
||||
開発プロセス
|
||||
-----------------------
|
||||
@ -253,24 +253,24 @@ Linux カーネルソースツリーの中に含まれる、きれいにし、
|
||||
Linux カーネルの開発プロセスは現在幾つかの異なるメインカーネル「ブラン
|
||||
チ」と多数のサブシステム毎のカーネルブランチから構成されます。
|
||||
これらのブランチとは-
|
||||
- メインの 2.6.x カーネルツリー
|
||||
- 2.6.x.y -stable カーネルツリー
|
||||
- 2.6.x -git カーネルパッチ
|
||||
- メインの 3.x カーネルツリー
|
||||
- 3.x.y -stable カーネルツリー
|
||||
- 3.x -git カーネルパッチ
|
||||
- サブシステム毎のカーネルツリーとパッチ
|
||||
- 統合テストのための 2.6.x -next カーネルツリー
|
||||
- 統合テストのための 3.x -next カーネルツリー
|
||||
|
||||
2.6.x カーネルツリー
|
||||
3.x カーネルツリー
|
||||
-----------------
|
||||
|
||||
2.6.x カーネルは Linus Torvalds によってメンテナンスされ、kernel.org
|
||||
の pub/linux/kernel/v2.6/ ディレクトリに存在します。この開発プロセスは
|
||||
3.x カーネルは Linus Torvalds によってメンテナンスされ、kernel.org
|
||||
の pub/linux/kernel/v3.x/ ディレクトリに存在します。この開発プロセスは
|
||||
以下のとおり-
|
||||
|
||||
- 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
|
||||
この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
|
||||
このような差分は通常 -next カーネルに数週間含まれてきたパッチです。
|
||||
大きな変更は git(カーネルのソース管理ツール、詳細は
|
||||
http://git-scm.com/ 参照) を使って送るのが好ましいやり方ですが、パッ
|
||||
http://git-scm.com/ 参照) を使って送るのが好ましいやり方ですが、パッ
|
||||
チファイルの形式のまま送るのでも十分です。
|
||||
|
||||
- 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定
|
||||
@ -302,20 +302,20 @@ Andrew Morton が Linux-kernel メーリングリストにカーネルリリー
|
||||
実に認識されたバグの状況によりリリースされるのであり、前もって決めら
|
||||
れた計画によってリリースされるものではないからです。」
|
||||
|
||||
2.6.x.y -stable カーネルツリー
|
||||
3.x.y -stable カーネルツリー
|
||||
---------------------------
|
||||
|
||||
バージョン番号が4つの数字に分かれているカーネルは -stable カーネルです。
|
||||
これには、2.6.x カーネルで見つかったセキュリティ問題や重大な後戻りに対
|
||||
バージョン番号が3つの数字に分かれているカーネルは -stable カーネルです。
|
||||
これには、3.x カーネルで見つかったセキュリティ問題や重大な後戻りに対
|
||||
する比較的小さい重要な修正が含まれます。
|
||||
|
||||
これは、開発/実験的バージョンのテストに協力することに興味が無く、
|
||||
最新の安定したカーネルを使いたいユーザに推奨するブランチです。
|
||||
|
||||
もし、2.6.x.y カーネルが存在しない場合には、番号が一番大きい 2.6.x が
|
||||
もし、3.x.y カーネルが存在しない場合には、番号が一番大きい 3.x が
|
||||
最新の安定版カーネルです。
|
||||
|
||||
2.6.x.y は "stable" チーム <stable@kernel.org> でメンテされており、必
|
||||
3.x.y は "stable" チーム <stable@kernel.org> でメンテされており、必
|
||||
要に応じてリリースされます。通常のリリース期間は 2週間毎ですが、差し迫っ
|
||||
た問題がなければもう少し長くなることもあります。セキュリティ関連の問題
|
||||
の場合はこれに対してだいたいの場合、すぐにリリースがされます。
|
||||
@ -324,7 +324,7 @@ Andrew Morton が Linux-kernel メーリングリストにカーネルリリー
|
||||
イルにはどのような種類の変更が -stable ツリーに受け入れ可能か、またリ
|
||||
リースプロセスがどう動くかが記述されています。
|
||||
|
||||
2.6.x -git パッチ
|
||||
3.x -git パッチ
|
||||
------------------
|
||||
|
||||
git リポジトリで管理されているLinus のカーネルツリーの毎日のスナップ
|
||||
@ -358,14 +358,14 @@ quilt シリーズとして公開されているパッチキューも使われ
|
||||
をつけることができます。大部分のこれらの patchwork のサイトは
|
||||
http://patchwork.kernel.org/ でリストされています。
|
||||
|
||||
統合テストのための 2.6.x -next カーネルツリー
|
||||
統合テストのための 3.x -next カーネルツリー
|
||||
---------------------------------------------
|
||||
|
||||
サブシステムツリーの更新内容がメインラインの 2.6.x ツリーにマージされ
|
||||
サブシステムツリーの更新内容がメインラインの 3.x ツリーにマージされ
|
||||
る前に、それらは統合テストされる必要があります。この目的のため、実質的
|
||||
に全サブシステムツリーからほぼ毎日プルされてできる特別なテスト用のリ
|
||||
ポジトリが存在します-
|
||||
http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
|
||||
http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
|
||||
http://linux.f-seidel.de/linux-next/pmwiki/
|
||||
|
||||
このやり方によって、-next カーネルは次のマージ機会でどんなものがメイン
|
||||
|
@ -562,7 +562,7 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
|
||||
struct hv_hotadd_state *has)
|
||||
{
|
||||
int ret = 0;
|
||||
int i, nid, t;
|
||||
int i, nid;
|
||||
unsigned long start_pfn;
|
||||
unsigned long processed_pfn;
|
||||
unsigned long total_pfn = pfn_count;
|
||||
@ -607,14 +607,11 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
|
||||
|
||||
/*
|
||||
* Wait for the memory block to be onlined.
|
||||
* Since the hot add has succeeded, it is ok to
|
||||
* proceed even if the pages in the hot added region
|
||||
* have not been "onlined" within the allowed time.
|
||||
*/
|
||||
t = wait_for_completion_timeout(&dm_device.ol_waitevent, 5*HZ);
|
||||
if (t == 0) {
|
||||
pr_info("hot_add memory timedout\n");
|
||||
has->ha_end_pfn -= HA_CHUNK;
|
||||
has->covered_end_pfn -= processed_pfn;
|
||||
break;
|
||||
}
|
||||
wait_for_completion_timeout(&dm_device.ol_waitevent, 5*HZ);
|
||||
|
||||
}
|
||||
|
||||
@ -978,6 +975,14 @@ static void post_status(struct hv_dynmem_device *dm)
|
||||
dm->num_pages_ballooned +
|
||||
compute_balloon_floor();
|
||||
|
||||
/*
|
||||
* If our transaction ID is no longer current, just don't
|
||||
* send the status. This can happen if we were interrupted
|
||||
* after we picked our transaction ID.
|
||||
*/
|
||||
if (status.hdr.trans_id != atomic_read(&trans_id))
|
||||
return;
|
||||
|
||||
vmbus_sendpacket(dm->dev->channel, &status,
|
||||
sizeof(struct dm_status),
|
||||
(unsigned long)NULL,
|
||||
|
@ -690,7 +690,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
|
||||
if (ret)
|
||||
pr_err("Unable to register child device\n");
|
||||
else
|
||||
pr_info("child device %s registered\n",
|
||||
pr_debug("child device %s registered\n",
|
||||
dev_name(&child_device_obj->device));
|
||||
|
||||
return ret;
|
||||
@ -702,14 +702,14 @@ int vmbus_device_register(struct hv_device *child_device_obj)
|
||||
*/
|
||||
void vmbus_device_unregister(struct hv_device *device_obj)
|
||||
{
|
||||
pr_debug("child device %s unregistered\n",
|
||||
dev_name(&device_obj->device));
|
||||
|
||||
/*
|
||||
* Kick off the process of unregistering the device.
|
||||
* This will call vmbus_remove() and eventually vmbus_device_release()
|
||||
*/
|
||||
device_unregister(&device_obj->device);
|
||||
|
||||
pr_info("child device %s unregistered\n",
|
||||
dev_name(&device_obj->device));
|
||||
}
|
||||
|
||||
|
||||
|
@ -167,7 +167,7 @@ int mei_hbm_start_req(struct mei_device *dev)
|
||||
|
||||
dev->hbm_state = MEI_HBM_IDLE;
|
||||
if (mei_write_message(dev, mei_hdr, dev->wr_msg.data)) {
|
||||
dev_err(&dev->pdev->dev, "version message writet failed\n");
|
||||
dev_err(&dev->pdev->dev, "version message write failed\n");
|
||||
dev->dev_state = MEI_DEV_RESETTING;
|
||||
mei_reset(dev, 1);
|
||||
return -ENODEV;
|
||||
|
@ -239,14 +239,18 @@ static int mei_me_hw_ready_wait(struct mei_device *dev)
|
||||
if (mei_me_hw_is_ready(dev))
|
||||
return 0;
|
||||
|
||||
dev->recvd_hw_ready = false;
|
||||
mutex_unlock(&dev->device_lock);
|
||||
err = wait_event_interruptible_timeout(dev->wait_hw_ready,
|
||||
dev->recvd_hw_ready, MEI_INTEROP_TIMEOUT);
|
||||
dev->recvd_hw_ready,
|
||||
mei_secs_to_jiffies(MEI_INTEROP_TIMEOUT));
|
||||
mutex_lock(&dev->device_lock);
|
||||
if (!err && !dev->recvd_hw_ready) {
|
||||
if (!err)
|
||||
err = -ETIMEDOUT;
|
||||
dev_err(&dev->pdev->dev,
|
||||
"wait hw ready failed. status = 0x%x\n", err);
|
||||
return -ETIMEDOUT;
|
||||
"wait hw ready failed. status = %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
dev->recvd_hw_ready = false;
|
||||
@ -483,7 +487,9 @@ irqreturn_t mei_me_irq_thread_handler(int irq, void *dev_id)
|
||||
/* check if ME wants a reset */
|
||||
if (!mei_hw_is_ready(dev) &&
|
||||
dev->dev_state != MEI_DEV_RESETTING &&
|
||||
dev->dev_state != MEI_DEV_INITIALIZING) {
|
||||
dev->dev_state != MEI_DEV_INITIALIZING &&
|
||||
dev->dev_state != MEI_DEV_POWER_DOWN &&
|
||||
dev->dev_state != MEI_DEV_POWER_UP) {
|
||||
dev_dbg(&dev->pdev->dev, "FW not ready.\n");
|
||||
mei_reset(dev, 1);
|
||||
mutex_unlock(&dev->device_lock);
|
||||
|
@ -148,7 +148,8 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled)
|
||||
|
||||
dev->hbm_state = MEI_HBM_IDLE;
|
||||
|
||||
if (dev->dev_state != MEI_DEV_INITIALIZING) {
|
||||
if (dev->dev_state != MEI_DEV_INITIALIZING &&
|
||||
dev->dev_state != MEI_DEV_POWER_UP) {
|
||||
if (dev->dev_state != MEI_DEV_DISABLED &&
|
||||
dev->dev_state != MEI_DEV_POWER_DOWN)
|
||||
dev->dev_state = MEI_DEV_RESETTING;
|
||||
|
@ -1026,9 +1026,10 @@ kvp_get_ip_info(int family, char *if_name, int op,
|
||||
|
||||
if (sn_offset == 0)
|
||||
strcpy(sn_str, cidr_mask);
|
||||
else
|
||||
else {
|
||||
strcat((char *)ip_buffer->sub_net, ";");
|
||||
strcat(sn_str, cidr_mask);
|
||||
strcat((char *)ip_buffer->sub_net, ";");
|
||||
}
|
||||
sn_offset += strlen(sn_str) + 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user